diff --git a/.editorconfig b/.editorconfig index 858d06582..026edd51d 100644 --- a/.editorconfig +++ b/.editorconfig @@ -4,5 +4,4 @@ ktlint_standard_import-ordering = disabled ktlint_standard_blank-line-before-declaration = disabled ktlint_standard_multiline-if-else = disabled -ktlint_function_signature_body_expression_wrapping = disabled ktlint_standard_function-type-modifier-spacing = disabled \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 5b46da113..a3aad7296 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,7 +1,6 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.jetbrains.kotlin.gradle.dsl.JvmTarget val kotestAssertionsVersion: String by properties -val kotlinVersion: String by properties val flywayVersion: String by properties val log4jApiKotlinVersion: String by properties val jsonVersion: String by properties @@ -25,9 +24,9 @@ plugins { } allOpen { - annotation("javax.persistence.Entity") - annotation("javax.persistence.MappedSuperclass") - annotation("javax.persistence.Embeddable") + annotation("jakarta.persistence.Entity") + annotation("jakarta.persistence.MappedSuperclass") + annotation("jakarta.persistence.Embeddable") } repositories { @@ -36,7 +35,7 @@ repositories { dependencyManagement { imports { - mavenBom("software.amazon.awssdk:bom:2.17.198") + mavenBom("software.amazon.awssdk:bom:2.34.0") } } @@ -57,7 +56,7 @@ dependencies { implementation("org.postgresql:postgresql") implementation("org.flywaydb:flyway-core:$flywayVersion") - implementation("com.google.firebase:firebase-admin:8.1.0") + implementation("com.google.firebase:firebase-admin:9.1.1") implementation("com.auth0:java-jwt:3.10.3") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") @@ -96,15 +95,16 @@ dependencies { testImplementation("org.testcontainers:junit-jupiter:$testContainersVersion") testImplementation("org.testcontainers:postgresql:$testContainersVersion") testImplementation("org.testcontainers:localstack:$testContainersVersion") - testImplementation("com.amazonaws:aws-java-sdk:1.11.808") + testImplementation("com.amazonaws:aws-java-sdk:1.12.791") testImplementation("com.squareup.okhttp3:okhttp:$okhttp3Version") testImplementation("com.squareup.okhttp3:mockwebserver:$okhttp3Version") } -tasks.withType { - kotlinOptions { - freeCompilerArgs = listOf("-Xjsr305=strict") - jvmTarget = "17" +kotlin { + compilerOptions { + // apiVersion = KotlinVersion.KOTLIN_2_1 + jvmTarget = JvmTarget.JVM_17 + freeCompilerArgs.add("-Xjsr305=strict") } } @@ -156,8 +156,8 @@ tasks.register("ktlintFormat") { ) } -project.exec { - commandLine = "git config core.hooksPath .githooks".split(" ") +tasks.register("setGitHooksPath") { + commandLine("git", "config", "core.hooksPath", ".githooks") } tasks.named("compileKotlin") { dependsOn("ktlintCheck") } @@ -178,9 +178,9 @@ tasks.withType { reports { xml.required.set(true) html.required.set(true) - xml.outputLocation.set(file("$buildDir/jacoco/coverage.xml")) + xml.outputLocation.set(layout.buildDirectory.file("jacoco/coverage.xml")) csv.required.set(false) - html.outputLocation.set(file("$buildDir/jacoco/html")) + html.outputLocation.set(layout.buildDirectory.dir("jacoco/html")) } afterEvaluate { classDirectories.setFrom( @@ -202,10 +202,10 @@ tasks.withType { ), ) } - executionData.setFrom("$buildDir/jacoco/test.exec") + executionData.setFrom(layout.buildDirectory.file("jacoco/test.exec")) } -task("integrationTest") { +tasks.register("integrationTest") { useJUnitPlatform { includeTags("integration-test") } mustRunAfter(tasks["test"]) group = "Verification" diff --git a/gradle.properties b/gradle.properties index 47fc2d564..1d31b9231 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,16 +1,16 @@ kotlin.code.style=official -springBootVersion=2.5.9 -springDependencyVersion=1.0.11.RELEASE +springBootVersion=3.2.0 +springDependencyVersion=1.1.7 kotlinVersion=2.1.20 kotlinxCoroutinesCoreVersion=1.6.0 -flywayVersion=6.5.5 -junitVersion=5.3.1 +flywayVersion=9.22.0 +junitVersion=5.10.0 mockkVersion=1.13.17 kotestAssertionsVersion=5.9.1 jsonVersion=20210307 log4jApiKotlinVersion=1.1.0 -springCloudContractWiremockVersion=3.1.1 +springCloudContractWiremockVersion=5.0.0-M1 testContainersVersion=1.15.1 okhttp3Version=4.10.0 springDocOpenApiVersion=1.6.12 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 068cdb2dc..3ae1e2f12 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/kotlin/com/epam/brn/auth/filter/FirebaseTokenAuthenticationFilter.kt b/src/main/kotlin/com/epam/brn/auth/filter/FirebaseTokenAuthenticationFilter.kt index 8c7bcd861..7ac944c50 100644 --- a/src/main/kotlin/com/epam/brn/auth/filter/FirebaseTokenAuthenticationFilter.kt +++ b/src/main/kotlin/com/epam/brn/auth/filter/FirebaseTokenAuthenticationFilter.kt @@ -16,9 +16,9 @@ import org.springframework.security.core.userdetails.UsernameNotFoundException import org.springframework.security.web.authentication.WebAuthenticationDetailsSource import org.springframework.stereotype.Component import org.springframework.web.filter.OncePerRequestFilter -import javax.servlet.FilterChain -import javax.servlet.http.HttpServletRequest -import javax.servlet.http.HttpServletResponse +import jakarta.servlet.FilterChain +import jakarta.servlet.http.HttpServletRequest +import jakarta.servlet.http.HttpServletResponse @Component class FirebaseTokenAuthenticationFilter( diff --git a/src/main/kotlin/com/epam/brn/auth/filter/RememberLastVisitFilter.kt b/src/main/kotlin/com/epam/brn/auth/filter/RememberLastVisitFilter.kt index 3e3e78c65..c5dd0e89b 100644 --- a/src/main/kotlin/com/epam/brn/auth/filter/RememberLastVisitFilter.kt +++ b/src/main/kotlin/com/epam/brn/auth/filter/RememberLastVisitFilter.kt @@ -5,9 +5,9 @@ import org.apache.logging.log4j.kotlin.logger import org.springframework.security.core.context.SecurityContextHolder import org.springframework.stereotype.Component import org.springframework.web.filter.OncePerRequestFilter -import javax.servlet.FilterChain -import javax.servlet.http.HttpServletRequest -import javax.servlet.http.HttpServletResponse +import jakarta.servlet.FilterChain +import jakarta.servlet.http.HttpServletRequest +import jakarta.servlet.http.HttpServletResponse @Component class RememberLastVisitFilter( diff --git a/src/main/kotlin/com/epam/brn/config/AwsConfig.kt b/src/main/kotlin/com/epam/brn/config/AwsConfig.kt index 76256d956..0882435cf 100644 --- a/src/main/kotlin/com/epam/brn/config/AwsConfig.kt +++ b/src/main/kotlin/com/epam/brn/config/AwsConfig.kt @@ -154,14 +154,15 @@ class AwsConfig( val contentTypeStartsWith: Pair = "Content-Type" to contentTypeStartsWith val metaTagStartsWith: Pair = "x-amz-meta-tag" to metaTagStartsWith - override fun toString(): String = "Conditions(date='$date'," + - " bucket=$bucket," + - " acl=$acl, uuid=$uuid," + - " serverSideEncryption=$serverSideEncryption," + - " credential=$credential, algorithm=$algorithm," + - " dateTime=$dateTime, expiration=$expiration," + - " uploadKey=$uploadKey, successActionRedirect=$successActionRedirect," + - " contentTypeStartsWith=$contentTypeStartsWith," + - " metaTagStartsWith=$metaTagStartsWith, uploadKey=$uploadKey)" + override fun toString(): String = + "Conditions(date='$date'," + + " bucket=$bucket," + + " acl=$acl, uuid=$uuid," + + " serverSideEncryption=$serverSideEncryption," + + " credential=$credential, algorithm=$algorithm," + + " dateTime=$dateTime, expiration=$expiration," + + " uploadKey=$uploadKey, successActionRedirect=$successActionRedirect," + + " contentTypeStartsWith=$contentTypeStartsWith," + + " metaTagStartsWith=$metaTagStartsWith, uploadKey=$uploadKey)" } } diff --git a/src/main/kotlin/com/epam/brn/config/JpaAuditConfig.kt b/src/main/kotlin/com/epam/brn/config/JpaAuditConfig.kt index ef9a0b609..bccb39cc0 100644 --- a/src/main/kotlin/com/epam/brn/config/JpaAuditConfig.kt +++ b/src/main/kotlin/com/epam/brn/config/JpaAuditConfig.kt @@ -17,13 +17,15 @@ import java.util.Optional ) class JpaAuditConfig { @Bean - fun dateTimeProvider(dateTimeService: TimeService): DateTimeProvider = DateTimeProvider { - Optional.of(dateTimeService.now()) - } + fun dateTimeProvider(dateTimeService: TimeService): DateTimeProvider = + DateTimeProvider { + Optional.of(dateTimeService.now()) + } @Bean - fun userContextProvider(userAccountService: UserAccountService): AuditorAware = AuditorAware { - val authentication = SecurityContextHolder.getContext().authentication - Optional.of(if (authentication != null) authentication.name else "InitialDataLoader") - } + fun userContextProvider(userAccountService: UserAccountService): AuditorAware = + AuditorAware { + val authentication = SecurityContextHolder.getContext().authentication + Optional.of(if (authentication != null) authentication.name else "InitialDataLoader") + } } diff --git a/src/main/kotlin/com/epam/brn/config/SwaggerConfig.kt b/src/main/kotlin/com/epam/brn/config/SwaggerConfig.kt index 538b329ae..fe836c56c 100644 --- a/src/main/kotlin/com/epam/brn/config/SwaggerConfig.kt +++ b/src/main/kotlin/com/epam/brn/config/SwaggerConfig.kt @@ -7,50 +7,52 @@ import org.springdoc.core.customizers.OpenApiCustomiser import org.springdoc.core.customizers.OperationCustomizer import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration -import javax.annotation.security.RolesAllowed +import jakarta.annotation.security.RolesAllowed @Configuration class SwaggerConfig { @Bean fun openApi() = OpenAPI().info(apiInfo()) - private fun apiInfo() = Info() - .title("Brain Up project") - .description("REST API for brn") - .contact( - Contact() - .name("Elena.Moshnikova") - .url("https://t.me/ElenaLovesSpb") - .email("brainupproject@yandex.ru"), - ) + private fun apiInfo() = + Info() + .title("Brain Up project") + .description("REST API for brn") + .contact( + Contact() + .name("Elena.Moshnikova") + .url("https://t.me/ElenaLovesSpb") + .email("brainupproject@yandex.ru"), + ) @Bean - fun rolesAllowedCustomizer(): OperationCustomizer? = OperationCustomizer { operation, handlerMethod -> - var allowedRoles: Array? = null - var rolesAllowedAnnotation = handlerMethod.getMethodAnnotation(RolesAllowed::class.java) - if (rolesAllowedAnnotation != null) { - allowedRoles = rolesAllowedAnnotation.value - } else { - rolesAllowedAnnotation = handlerMethod.method.declaringClass.getAnnotation(RolesAllowed::class.java) - if (rolesAllowedAnnotation != null) + fun rolesAllowedCustomizer(): OperationCustomizer? = + OperationCustomizer { operation, handlerMethod -> + var allowedRoles: Array? = null + var rolesAllowedAnnotation = handlerMethod.getMethodAnnotation(RolesAllowed::class.java) + if (rolesAllowedAnnotation != null) { allowedRoles = rolesAllowedAnnotation.value + } else { + rolesAllowedAnnotation = handlerMethod.method.declaringClass.getAnnotation(RolesAllowed::class.java) + if (rolesAllowedAnnotation != null) + allowedRoles = rolesAllowedAnnotation.value + } + + val sb = StringBuilder("Roles: ") + if (allowedRoles != null) + sb.append("**${allowedRoles.joinToString(",")}**") + else + sb.append("**PUBLIC**") + + operation.description?.let { + sb.append("
") + sb.append(it) + } + + operation.description = sb.toString() + operation } - val sb = StringBuilder("Roles: ") - if (allowedRoles != null) - sb.append("**${allowedRoles.joinToString(",")}**") - else - sb.append("**PUBLIC**") - - operation.description?.let { - sb.append("
") - sb.append(it) - } - - operation.description = sb.toString() - operation - } - @Bean fun sortTagsCustomiser(): OpenApiCustomiser = OpenApiCustomiser { openApi -> openApi.tags.sortBy { it.name } } } diff --git a/src/main/kotlin/com/epam/brn/config/WebSecurityBasicConfiguration.kt b/src/main/kotlin/com/epam/brn/config/WebSecurityBasicConfiguration.kt index 24bba98fa..936e0e442 100644 --- a/src/main/kotlin/com/epam/brn/config/WebSecurityBasicConfiguration.kt +++ b/src/main/kotlin/com/epam/brn/config/WebSecurityBasicConfiguration.kt @@ -3,64 +3,63 @@ package com.epam.brn.config import com.epam.brn.auth.filter.FirebaseTokenAuthenticationFilter import com.epam.brn.auth.filter.RememberLastVisitFilter import com.epam.brn.enums.BrnRole +import com.epam.brn.service.BrainUpUserDetailsService +import jakarta.servlet.http.HttpServletResponse import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import org.springframework.security.authentication.AuthenticationManager -import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity +import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration +import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity import org.springframework.security.config.annotation.web.builders.HttpSecurity import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter import org.springframework.security.config.http.SessionCreationPolicy import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder import org.springframework.security.crypto.password.PasswordEncoder import org.springframework.security.web.AuthenticationEntryPoint +import org.springframework.security.web.SecurityFilterChain import org.springframework.security.web.access.AccessDeniedHandler import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter -import javax.servlet.http.HttpServletResponse @Configuration @EnableWebSecurity -@EnableGlobalMethodSecurity(securedEnabled = true, jsr250Enabled = true, prePostEnabled = true) +@EnableMethodSecurity(securedEnabled = true, jsr250Enabled = true, prePostEnabled = true) class WebSecurityBasicConfiguration( private val firebaseTokenAuthenticationFilter: FirebaseTokenAuthenticationFilter, private val rememberLastVisitFilter: RememberLastVisitFilter, -) : WebSecurityConfigurerAdapter() { - @Throws(Exception::class) - override fun configure(http: HttpSecurity) { + private val buUserDetailsService: BrainUpUserDetailsService, +) { + @Bean + @Throws(java.lang.Exception::class) + fun filterChain(http: HttpSecurity): SecurityFilterChain? = http - .csrf() - .disable() - .sessionManagement() - .sessionCreationPolicy(SessionCreationPolicy.STATELESS) - .and() + .csrf { it.disable() } + .sessionManagement { it.sessionCreationPolicy(SessionCreationPolicy.STATELESS) } .addFilterBefore(firebaseTokenAuthenticationFilter, UsernamePasswordAuthenticationFilter::class.java) .addFilterAfter(rememberLastVisitFilter, UsernamePasswordAuthenticationFilter::class.java) - .authorizeRequests() - .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**") - .hasRole(BrnRole.ADMIN) - .and() - .formLogin() - .disable() - .httpBasic() - .disable() - .exceptionHandling() - .authenticationEntryPoint(authenticationEntryPoint()) - .accessDeniedHandler(accessDeniedHandler()) - } + .userDetailsService(buUserDetailsService) + .authorizeHttpRequests { + it.requestMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**").hasRole(BrnRole.ADMIN) + }.formLogin { it.disable() } + .httpBasic { it.disable() } + .exceptionHandling { it.authenticationEntryPoint(authenticationEntryPoint()) } + .build() @Bean - fun accessDeniedHandler(): AccessDeniedHandler? = AccessDeniedHandler { _, response: HttpServletResponse, _ -> - response.sendError(HttpServletResponse.SC_FORBIDDEN, "Access Denied") - } + fun accessDeniedHandler(): AccessDeniedHandler? = + AccessDeniedHandler { _, response: HttpServletResponse, _ -> + response.sendError(HttpServletResponse.SC_FORBIDDEN, "Access Denied") + } @Bean - fun authenticationEntryPoint(): AuthenticationEntryPoint? = AuthenticationEntryPoint { _, response: HttpServletResponse, _ -> - response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Unauthorized") - } + fun authenticationEntryPoint(): AuthenticationEntryPoint? = + AuthenticationEntryPoint { _, response: HttpServletResponse, _ -> + response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Unauthorized") + } @Bean fun passwordEncoder(): PasswordEncoder = BCryptPasswordEncoder() @Bean - fun brnAuthenticationManager(): AuthenticationManager = super.authenticationManagerBean() + fun brnAuthenticationManager(authenticationConfiguration: AuthenticationConfiguration): AuthenticationManager = + authenticationConfiguration.authenticationManager } diff --git a/src/main/kotlin/com/epam/brn/controller/AudioController.kt b/src/main/kotlin/com/epam/brn/controller/AudioController.kt index 3fda2a82d..5304f2ee9 100644 --- a/src/main/kotlin/com/epam/brn/controller/AudioController.kt +++ b/src/main/kotlin/com/epam/brn/controller/AudioController.kt @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.GetMapping import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RequestParam import org.springframework.web.bind.annotation.RestController -import javax.annotation.security.RolesAllowed +import jakarta.annotation.security.RolesAllowed @RestController @RequestMapping("/audio") @@ -34,23 +34,24 @@ class AudioController( @RequestParam(required = false) gender: String? = null, @RequestParam(required = false) pitch: String? = null, @RequestParam(required = false) style: String? = null, - ): ResponseEntity = ResponseEntity - .ok() - .contentType(MediaType.APPLICATION_OCTET_STREAM) - .body( - toByteArray( - userAnalyticsService.prepareAudioStreamForUser( - exerciseId, - AudioFileMetaData( - text = text, - locale = locale, - voice = voice, - gender = gender, - speedFloat = speed, - pitch = pitch, - style = style, + ): ResponseEntity = + ResponseEntity + .ok() + .contentType(MediaType.APPLICATION_OCTET_STREAM) + .body( + toByteArray( + userAnalyticsService.prepareAudioStreamForUser( + exerciseId, + AudioFileMetaData( + text = text, + locale = locale, + voice = voice, + gender = gender, + speedFloat = speed, + pitch = pitch, + style = style, + ), ), ), - ), - ) + ) } diff --git a/src/main/kotlin/com/epam/brn/controller/AudiometryController.kt b/src/main/kotlin/com/epam/brn/controller/AudiometryController.kt index 2c8a4ca18..de9b86eac 100644 --- a/src/main/kotlin/com/epam/brn/controller/AudiometryController.kt +++ b/src/main/kotlin/com/epam/brn/controller/AudiometryController.kt @@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.PathVariable import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RequestParam import org.springframework.web.bind.annotation.RestController -import javax.annotation.security.RolesAllowed +import jakarta.annotation.security.RolesAllowed @RestController @RequestMapping("/audiometrics") diff --git a/src/main/kotlin/com/epam/brn/controller/AudiometryHistoryController.kt b/src/main/kotlin/com/epam/brn/controller/AudiometryHistoryController.kt index 0b5bd87cd..ef4da12a5 100644 --- a/src/main/kotlin/com/epam/brn/controller/AudiometryHistoryController.kt +++ b/src/main/kotlin/com/epam/brn/controller/AudiometryHistoryController.kt @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.PostMapping import org.springframework.web.bind.annotation.RequestBody import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RestController -import javax.annotation.security.RolesAllowed +import jakarta.annotation.security.RolesAllowed @RestController @RequestMapping("/audiometry-history") diff --git a/src/main/kotlin/com/epam/brn/controller/CloudController.kt b/src/main/kotlin/com/epam/brn/controller/CloudController.kt index 7fe100064..3652b054f 100644 --- a/src/main/kotlin/com/epam/brn/controller/CloudController.kt +++ b/src/main/kotlin/com/epam/brn/controller/CloudController.kt @@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RequestParam import org.springframework.web.bind.annotation.RestController import org.springframework.web.multipart.MultipartFile -import javax.annotation.security.RolesAllowed +import jakarta.annotation.security.RolesAllowed /** * Provides form parameters for client direct file upload to cloud and url for client to list bucket contents @@ -76,7 +76,8 @@ class CloudController( fun uploadContributorPicture( @RequestParam(value = "file") multipartFile: MultipartFile, @RequestParam(value = "fileName") fileName: String, - ): ResponseEntity> = ResponseEntity - .status(HttpStatus.CREATED) - .body(BrnResponse(cloudUploadService.uploadContributorPicture(multipartFile, fileName))) + ): ResponseEntity> = + ResponseEntity + .status(HttpStatus.CREATED) + .body(BrnResponse(cloudUploadService.uploadContributorPicture(multipartFile, fileName))) } diff --git a/src/main/kotlin/com/epam/brn/controller/ContributorController.kt b/src/main/kotlin/com/epam/brn/controller/ContributorController.kt index 80893972c..cd33f8200 100644 --- a/src/main/kotlin/com/epam/brn/controller/ContributorController.kt +++ b/src/main/kotlin/com/epam/brn/controller/ContributorController.kt @@ -19,8 +19,8 @@ import org.springframework.web.bind.annotation.RequestBody import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RequestParam import org.springframework.web.bind.annotation.RestController -import javax.annotation.security.RolesAllowed -import javax.validation.Valid +import jakarta.annotation.security.RolesAllowed +import jakarta.validation.Valid @RestController @RequestMapping("/contributors") @@ -36,17 +36,18 @@ class ContributorController( fun getContributors( @RequestParam(name = "locale", required = false, defaultValue = "ru-ru") locale: String, @RequestParam(name = "type", required = false) type: ContributorType?, - ): ResponseEntity>> = ResponseEntity - .ok() - .body( - BrnResponse( - data = - if (type == null) - contributorService.getAllContributors() - else - contributorService.getContributors(locale, type), - ), - ) + ): ResponseEntity>> = + ResponseEntity + .ok() + .body( + BrnResponse( + data = + if (type == null) + contributorService.getAllContributors() + else + contributorService.getContributors(locale, type), + ), + ) @PostMapping @Operation(summary = "Add a new contributor") @@ -55,9 +56,10 @@ class ContributorController( @Parameter(description = "Contributor data", required = true) @Valid @RequestBody contributorDto: ContributorRequest, - ): ResponseEntity> = ResponseEntity - .status(HttpStatus.CREATED) - .body(BrnResponse(data = contributorService.createContributor(contributorDto))) + ): ResponseEntity> = + ResponseEntity + .status(HttpStatus.CREATED) + .body(BrnResponse(data = contributorService.createContributor(contributorDto))) @PutMapping("/{contributorId}") @Operation(summary = "Update an existing contributor") @@ -67,7 +69,8 @@ class ContributorController( @Parameter(description = "Contributor data", required = true) @Valid @RequestBody contributorDto: ContributorRequest, - ): ResponseEntity> = ResponseEntity - .ok() - .body(BrnResponse(data = contributorService.updateContributor(contributorId, contributorDto))) + ): ResponseEntity> = + ResponseEntity + .ok() + .body(BrnResponse(data = contributorService.updateContributor(contributorId, contributorDto))) } diff --git a/src/main/kotlin/com/epam/brn/controller/DoctorController.kt b/src/main/kotlin/com/epam/brn/controller/DoctorController.kt index d986437aa..3cc46e354 100644 --- a/src/main/kotlin/com/epam/brn/controller/DoctorController.kt +++ b/src/main/kotlin/com/epam/brn/controller/DoctorController.kt @@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.RequestBody import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.ResponseStatus import org.springframework.web.bind.annotation.RestController -import javax.annotation.security.RolesAllowed +import jakarta.annotation.security.RolesAllowed @RestController @RequestMapping("/doctors") diff --git a/src/main/kotlin/com/epam/brn/controller/ExerciseController.kt b/src/main/kotlin/com/epam/brn/controller/ExerciseController.kt index 3c232d4b6..197b1f1b0 100644 --- a/src/main/kotlin/com/epam/brn/controller/ExerciseController.kt +++ b/src/main/kotlin/com/epam/brn/controller/ExerciseController.kt @@ -25,8 +25,8 @@ import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RequestParam import org.springframework.web.bind.annotation.RestController import org.springframework.web.multipart.MultipartFile -import javax.annotation.security.RolesAllowed -import javax.validation.Valid +import jakarta.annotation.security.RolesAllowed +import jakarta.validation.Valid @RestController @RequestMapping("/exercises") @@ -44,9 +44,10 @@ class ExerciseController( @Parameter(description = "Exercise data", required = true) @Valid @RequestBody exerciseCreateDto: ExerciseCreateDto, - ): ResponseEntity> = ResponseEntity - .status(HttpStatus.CREATED) - .body(BrnResponse(data = exerciseService.createExercise(exerciseCreateDto))) + ): ResponseEntity> = + ResponseEntity + .status(HttpStatus.CREATED) + .body(BrnResponse(data = exerciseService.createExercise(exerciseCreateDto))) @GetMapping @Operation(summary = "Get exercises for subgroup with tasks. If called by current user, availability calculation is included") @@ -69,9 +70,10 @@ class ExerciseController( @Operation(summary = "Get exercise by id") fun getExercisesByID( @PathVariable("exerciseId") exerciseId: Long, - ): ResponseEntity> = ResponseEntity - .ok() - .body(BrnResponse(data = exerciseService.findExerciseById(exerciseId))) + ): ResponseEntity> = + ResponseEntity + .ok() + .body(BrnResponse(data = exerciseService.findExerciseById(exerciseId))) @GetMapping(value = ["/byWord"]) @Operation(summary = "Get exercises containing specified word") @@ -88,9 +90,10 @@ class ExerciseController( @Operation(summary = "Get available exercise ids for current user by input ids which have same subgroup") fun getExercisesByIds( @Validated @RequestBody exerciseRequest: ExerciseRequest, - ): ResponseEntity>> = ResponseEntity - .ok() - .body(BrnResponse(data = exerciseService.getAvailableExerciseIds(exerciseRequest.ids))) + ): ResponseEntity>> = + ResponseEntity + .ok() + .body(BrnResponse(data = exerciseService.getAvailableExerciseIds(exerciseRequest.ids))) @PutMapping(value = ["/{exerciseId}/active/{active}"]) @Operation(summary = "Update active status of the exercise") diff --git a/src/main/kotlin/com/epam/brn/controller/GroupController.kt b/src/main/kotlin/com/epam/brn/controller/GroupController.kt index 702c60e0b..9bc4c9297 100644 --- a/src/main/kotlin/com/epam/brn/controller/GroupController.kt +++ b/src/main/kotlin/com/epam/brn/controller/GroupController.kt @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.PathVariable import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RequestParam import org.springframework.web.bind.annotation.RestController -import javax.annotation.security.RolesAllowed +import jakarta.annotation.security.RolesAllowed @RestController @RequestMapping("/groups") @@ -34,7 +34,8 @@ class GroupController( @Operation(summary = "Get group by id") fun getGroupById( @PathVariable("groupId") groupId: Long, - ): ResponseEntity> = ResponseEntity - .ok() - .body(BrnResponse(data = exerciseGroupsService.findGroupDtoById(groupId))) + ): ResponseEntity> = + ResponseEntity + .ok() + .body(BrnResponse(data = exerciseGroupsService.findGroupDtoById(groupId))) } diff --git a/src/main/kotlin/com/epam/brn/controller/ResourceController.kt b/src/main/kotlin/com/epam/brn/controller/ResourceController.kt index 0a31750db..f68047c88 100644 --- a/src/main/kotlin/com/epam/brn/controller/ResourceController.kt +++ b/src/main/kotlin/com/epam/brn/controller/ResourceController.kt @@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.PostMapping import org.springframework.web.bind.annotation.RequestBody import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RestController -import javax.annotation.security.RolesAllowed +import jakarta.annotation.security.RolesAllowed @RestController @RequestMapping("/resources") @@ -39,9 +39,10 @@ class ResourceController( fun updateResourceDescription( @PathVariable(value = "id") id: Long, @RequestBody @Validated request: UpdateResourceDescriptionRequest, - ): ResponseEntity> = ResponseEntity - .ok() - .body(BrnResponse(data = resourceService.updateDescription(id, request.description!!))) + ): ResponseEntity> = + ResponseEntity + .ok() + .body(BrnResponse(data = resourceService.updateDescription(id, request.description!!))) @PostMapping("/update") @RolesAllowed(BrnRole.ADMIN) diff --git a/src/main/kotlin/com/epam/brn/controller/RoleController.kt b/src/main/kotlin/com/epam/brn/controller/RoleController.kt index 5b10d5a3b..f32da9492 100644 --- a/src/main/kotlin/com/epam/brn/controller/RoleController.kt +++ b/src/main/kotlin/com/epam/brn/controller/RoleController.kt @@ -10,7 +10,7 @@ import org.springframework.http.ResponseEntity import org.springframework.web.bind.annotation.GetMapping import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RestController -import javax.annotation.security.RolesAllowed +import jakarta.annotation.security.RolesAllowed @RestController @RequestMapping("/roles") diff --git a/src/main/kotlin/com/epam/brn/controller/SeriesController.kt b/src/main/kotlin/com/epam/brn/controller/SeriesController.kt index 84afe0e4e..3085d2688 100644 --- a/src/main/kotlin/com/epam/brn/controller/SeriesController.kt +++ b/src/main/kotlin/com/epam/brn/controller/SeriesController.kt @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.PathVariable import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RequestParam import org.springframework.web.bind.annotation.RestController -import javax.annotation.security.RolesAllowed +import jakarta.annotation.security.RolesAllowed @RestController @RequestMapping("/series") diff --git a/src/main/kotlin/com/epam/brn/controller/StudyHistoryController.kt b/src/main/kotlin/com/epam/brn/controller/StudyHistoryController.kt index 13aef50b2..61e78b435 100644 --- a/src/main/kotlin/com/epam/brn/controller/StudyHistoryController.kt +++ b/src/main/kotlin/com/epam/brn/controller/StudyHistoryController.kt @@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.RequestBody import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RequestParam import org.springframework.web.bind.annotation.RestController -import javax.annotation.security.RolesAllowed +import jakarta.annotation.security.RolesAllowed @RestController @RequestMapping("/study-history") diff --git a/src/main/kotlin/com/epam/brn/controller/StudyHistoryControllerV2.kt b/src/main/kotlin/com/epam/brn/controller/StudyHistoryControllerV2.kt index 324684ee4..fc7066020 100644 --- a/src/main/kotlin/com/epam/brn/controller/StudyHistoryControllerV2.kt +++ b/src/main/kotlin/com/epam/brn/controller/StudyHistoryControllerV2.kt @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RequestParam import org.springframework.web.bind.annotation.RestController import java.time.LocalDateTime -import javax.annotation.security.RolesAllowed +import jakarta.annotation.security.RolesAllowed @RestController @RequestMapping("/v2/study-history") diff --git a/src/main/kotlin/com/epam/brn/controller/SubGroupController.kt b/src/main/kotlin/com/epam/brn/controller/SubGroupController.kt index 5287eed1d..28be0931d 100644 --- a/src/main/kotlin/com/epam/brn/controller/SubGroupController.kt +++ b/src/main/kotlin/com/epam/brn/controller/SubGroupController.kt @@ -20,8 +20,8 @@ import org.springframework.web.bind.annotation.RequestBody import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RequestParam import org.springframework.web.bind.annotation.RestController -import javax.annotation.security.RolesAllowed -import javax.validation.Valid +import jakarta.annotation.security.RolesAllowed +import jakarta.validation.Valid @RestController @RequestMapping("/subgroups") @@ -64,9 +64,10 @@ class SubGroupController( @Parameter(name = "seriesId", description = "ID of existed series", example = "1") @RequestParam(value = "seriesId") seriesId: Long, @Valid @RequestBody subGroupRequest: SubGroupRequest, - ): ResponseEntity> = ResponseEntity - .status(HttpStatus.CREATED) - .body(BrnResponse(data = subGroupsService.addSubGroupToSeries(subGroupRequest, seriesId))) + ): ResponseEntity> = + ResponseEntity + .status(HttpStatus.CREATED) + .body(BrnResponse(data = subGroupsService.addSubGroupToSeries(subGroupRequest, seriesId))) @PatchMapping("/{subGroupId}") @Operation(summary = "Update subgroup by id") diff --git a/src/main/kotlin/com/epam/brn/controller/TaskController.kt b/src/main/kotlin/com/epam/brn/controller/TaskController.kt index 60e053d8a..2586268bb 100644 --- a/src/main/kotlin/com/epam/brn/controller/TaskController.kt +++ b/src/main/kotlin/com/epam/brn/controller/TaskController.kt @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.PathVariable import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RequestParam import org.springframework.web.bind.annotation.RestController -import javax.annotation.security.RolesAllowed +import jakarta.annotation.security.RolesAllowed @RestController @RequestMapping("/tasks") @@ -38,7 +38,8 @@ class TaskController( @Operation(summary = "Get task by id") fun getTaskById( @PathVariable("taskId") taskId: Long, - ): ResponseEntity> = ResponseEntity - .ok() - .body(BrnResponse(data = taskService.getTaskById(taskId))) + ): ResponseEntity> = + ResponseEntity + .ok() + .body(BrnResponse(data = taskService.getTaskById(taskId))) } diff --git a/src/main/kotlin/com/epam/brn/controller/UserDetailController.kt b/src/main/kotlin/com/epam/brn/controller/UserDetailController.kt index 3dce155b1..0053f1e11 100644 --- a/src/main/kotlin/com/epam/brn/controller/UserDetailController.kt +++ b/src/main/kotlin/com/epam/brn/controller/UserDetailController.kt @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RequestParam import org.springframework.web.bind.annotation.ResponseStatus import org.springframework.web.bind.annotation.RestController -import javax.annotation.security.RolesAllowed +import jakarta.annotation.security.RolesAllowed @RestController @RequestMapping("/users") @@ -58,15 +58,17 @@ class UserDetailController( @RolesAllowed(BrnRole.ADMIN, BrnRole.SPECIALIST) fun findUserById( @PathVariable("userId") id: Long, - ): ResponseEntity>> = ResponseEntity - .ok() - .body(BrnResponse(data = listOf(userAccountService.findUserDtoById(id)))) + ): ResponseEntity>> = + ResponseEntity + .ok() + .body(BrnResponse(data = listOf(userAccountService.findUserDtoById(id)))) @GetMapping(value = ["/current"]) @Operation(summary = "Get current logged in user") - fun getCurrentUser() = ResponseEntity - .ok() - .body(BrnResponse(data = listOf(userAccountService.getCurrentUserDto()))) + fun getCurrentUser() = + ResponseEntity + .ok() + .body(BrnResponse(data = listOf(userAccountService.getCurrentUserDto()))) @PatchMapping(value = ["/current"]) @Operation(summary = "Update current logged in user") @@ -122,9 +124,10 @@ class UserDetailController( @GetMapping(value = ["/current/headphones"]) @Operation(summary = "Get all headphones for current user") - fun getAllHeadphonesForUser() = ResponseEntity - .ok() - .body(BrnResponse(data = userAccountService.getAllHeadphonesForCurrentUser().toList())) + fun getAllHeadphonesForUser() = + ResponseEntity + .ok() + .body(BrnResponse(data = userAccountService.getAllHeadphonesForCurrentUser().toList())) @GetMapping("/current/{patientId}/doctor") @Operation(summary = "Get patient's doctor") @@ -145,9 +148,10 @@ class UserDetailController( @DeleteMapping("/autotest/del") @Operation(summary = "Delete all auto test users") @ResponseStatus(HttpStatus.OK) - fun deleteAutoTestUsers() = ResponseEntity - .ok() - .body(BrnResponse(data = userAccountService.deleteAutoTestUsers())) + fun deleteAutoTestUsers() = + ResponseEntity + .ok() + .body(BrnResponse(data = userAccountService.deleteAutoTestUsers())) @DeleteMapping("/autotest/del/{email}") @Operation(summary = "Delete auto test user by email") diff --git a/src/main/kotlin/com/epam/brn/controller/UserStatisticControllerV2.kt b/src/main/kotlin/com/epam/brn/controller/UserStatisticControllerV2.kt index 843981681..ce91efed1 100644 --- a/src/main/kotlin/com/epam/brn/controller/UserStatisticControllerV2.kt +++ b/src/main/kotlin/com/epam/brn/controller/UserStatisticControllerV2.kt @@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RequestParam import org.springframework.web.bind.annotation.RestController import java.time.LocalDateTime -import javax.annotation.security.RolesAllowed +import jakarta.annotation.security.RolesAllowed @RestController @RequestMapping("/v2/statistics") diff --git a/src/main/kotlin/com/epam/brn/controller/UserSubGroupStatisticController.kt b/src/main/kotlin/com/epam/brn/controller/UserSubGroupStatisticController.kt index 652e3ae78..3dc09b483 100644 --- a/src/main/kotlin/com/epam/brn/controller/UserSubGroupStatisticController.kt +++ b/src/main/kotlin/com/epam/brn/controller/UserSubGroupStatisticController.kt @@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.GetMapping import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RequestParam import org.springframework.web.bind.annotation.RestController -import javax.annotation.security.RolesAllowed +import jakarta.annotation.security.RolesAllowed @RestController @RequestMapping("/statistics") diff --git a/src/main/kotlin/com/epam/brn/dto/ExerciseGroupDto.kt b/src/main/kotlin/com/epam/brn/dto/ExerciseGroupDto.kt index c10f0b7ca..53ea1a035 100644 --- a/src/main/kotlin/com/epam/brn/dto/ExerciseGroupDto.kt +++ b/src/main/kotlin/com/epam/brn/dto/ExerciseGroupDto.kt @@ -1,6 +1,6 @@ package com.epam.brn.dto -import javax.validation.constraints.NotBlank +import jakarta.validation.constraints.NotBlank data class ExerciseGroupDto( val id: Long?, diff --git a/src/main/kotlin/com/epam/brn/dto/HeadphonesDto.kt b/src/main/kotlin/com/epam/brn/dto/HeadphonesDto.kt index 290803c02..3c3ae86c7 100644 --- a/src/main/kotlin/com/epam/brn/dto/HeadphonesDto.kt +++ b/src/main/kotlin/com/epam/brn/dto/HeadphonesDto.kt @@ -2,7 +2,7 @@ package com.epam.brn.dto import com.epam.brn.enums.HeadphonesType import com.epam.brn.model.Headphones -import javax.validation.constraints.NotBlank +import jakarta.validation.constraints.NotBlank data class HeadphonesDto( var id: Long? = null, @@ -13,11 +13,12 @@ data class HeadphonesDto( var description: String = "", var userAccount: Long? = null, ) { - fun toEntity() = Headphones( - id = id, - name = name, - active = active ?: true, - type = type ?: HeadphonesType.NOT_DEFINED, - description = description, - ) + fun toEntity() = + Headphones( + id = id, + name = name, + active = active ?: true, + type = type ?: HeadphonesType.NOT_DEFINED, + description = description, + ) } diff --git a/src/main/kotlin/com/epam/brn/dto/SeriesDto.kt b/src/main/kotlin/com/epam/brn/dto/SeriesDto.kt index 728d0b9d0..292e484bb 100644 --- a/src/main/kotlin/com/epam/brn/dto/SeriesDto.kt +++ b/src/main/kotlin/com/epam/brn/dto/SeriesDto.kt @@ -1,8 +1,8 @@ package com.epam.brn.dto import com.epam.brn.enums.ExerciseType -import javax.validation.constraints.NotBlank -import javax.validation.constraints.NotNull +import jakarta.validation.constraints.NotBlank +import jakarta.validation.constraints.NotNull data class SeriesDto( @field:NotNull diff --git a/src/main/kotlin/com/epam/brn/dto/StudyHistoryDto.kt b/src/main/kotlin/com/epam/brn/dto/StudyHistoryDto.kt index b21306675..ee1218032 100644 --- a/src/main/kotlin/com/epam/brn/dto/StudyHistoryDto.kt +++ b/src/main/kotlin/com/epam/brn/dto/StudyHistoryDto.kt @@ -4,7 +4,7 @@ import com.epam.brn.model.Exercise import com.epam.brn.model.StudyHistory import com.epam.brn.model.UserAccount import java.time.LocalDateTime -import javax.validation.constraints.NotNull +import jakarta.validation.constraints.NotNull data class StudyHistoryDto( var id: Long?, @@ -22,27 +22,29 @@ data class StudyHistoryDto( @field:NotNull var wrongAnswers: Int?, // -- wrong answers count -- ) { - override fun toString(): String = "StudyHistoryDto(" + - "exerciseId=$exerciseId, " + - "startTime=$startTime, " + - "endTime=$endTime, " + - "executionSeconds=$executionSeconds," + - "tasksCount=$tasksCount, " + - "wrongAnswers=$wrongAnswers)" + override fun toString(): String = + "StudyHistoryDto(" + + "exerciseId=$exerciseId, " + + "startTime=$startTime, " + + "endTime=$endTime, " + + "executionSeconds=$executionSeconds," + + "tasksCount=$tasksCount, " + + "wrongAnswers=$wrongAnswers)" fun toEntity( userAccount: UserAccount, exercise: Exercise, - ): StudyHistory = StudyHistory( - userAccount = userAccount, - exercise = exercise, - startTime = this.startTime, - endTime = this.endTime, - executionSeconds = this.executionSeconds!!, - tasksCount = this.tasksCount!!, - wrongAnswers = this.wrongAnswers!!, - replaysCount = this.replaysCount!!, - repetitionIndex = replaysCount!!.toFloat() / (tasksCount!! + replaysCount!!), - rightAnswersIndex = (tasksCount!! - wrongAnswers!!).toFloat() / tasksCount!!, - ) + ): StudyHistory = + StudyHistory( + userAccount = userAccount, + exercise = exercise, + startTime = this.startTime, + endTime = this.endTime, + executionSeconds = this.executionSeconds!!, + tasksCount = this.tasksCount!!, + wrongAnswers = this.wrongAnswers!!, + replaysCount = this.replaysCount!!, + repetitionIndex = replaysCount!!.toFloat() / (tasksCount!! + replaysCount!!), + rightAnswersIndex = (tasksCount!! - wrongAnswers!!).toFloat() / tasksCount!!, + ) } diff --git a/src/main/kotlin/com/epam/brn/dto/azure/tts/AzureJsonVoiceInfo.kt b/src/main/kotlin/com/epam/brn/dto/azure/tts/AzureJsonVoiceInfo.kt index 33eca09f5..717666a9d 100644 --- a/src/main/kotlin/com/epam/brn/dto/azure/tts/AzureJsonVoiceInfo.kt +++ b/src/main/kotlin/com/epam/brn/dto/azure/tts/AzureJsonVoiceInfo.kt @@ -28,17 +28,18 @@ class AzureJsonVoiceInfo( @field:JsonProperty("Status") var status: String, ) { - fun convertToEntity(styles: MutableSet = mutableSetOf()) = AzureVoiceInfo( - name = name, - displayName = displayName, - localName = localName, - shortName = shortName, - gender = gender, - locale = locale, - localeName = localeName, - sampleRateHertz = sampleRateHertz, - voiceType = voiceType, - status = status, - styleList = styles, - ) + fun convertToEntity(styles: MutableSet = mutableSetOf()) = + AzureVoiceInfo( + name = name, + displayName = displayName, + localName = localName, + shortName = shortName, + gender = gender, + locale = locale, + localeName = localeName, + sampleRateHertz = sampleRateHertz, + voiceType = voiceType, + status = status, + styleList = styles, + ) } diff --git a/src/main/kotlin/com/epam/brn/dto/github/GitHubUserDto.kt b/src/main/kotlin/com/epam/brn/dto/github/GitHubUserDto.kt index edde68331..367ae0784 100644 --- a/src/main/kotlin/com/epam/brn/dto/github/GitHubUserDto.kt +++ b/src/main/kotlin/com/epam/brn/dto/github/GitHubUserDto.kt @@ -16,14 +16,15 @@ data class GitHubUserDto( val email: String? = null, val bio: String? = null, ) { - fun toEntity(contributionsLevel: Long) = GitHubUser( - id = id, - name = name, - login = login, - email = email, - avatarUrl = avatarUrl, - bio = bio, - company = company, - contributions = contributionsLevel, - ) + fun toEntity(contributionsLevel: Long) = + GitHubUser( + id = id, + name = name, + login = login, + email = email, + avatarUrl = avatarUrl, + bio = bio, + company = company, + contributions = contributionsLevel, + ) } diff --git a/src/main/kotlin/com/epam/brn/dto/notification/NotificationDto.kt b/src/main/kotlin/com/epam/brn/dto/notification/NotificationDto.kt index 20b7d0263..3d7f40933 100644 --- a/src/main/kotlin/com/epam/brn/dto/notification/NotificationDto.kt +++ b/src/main/kotlin/com/epam/brn/dto/notification/NotificationDto.kt @@ -10,10 +10,11 @@ data class NotificationDto( var date: LocalDateTime, var checked: Boolean, ) { - fun toEntity() = Notification( - id = this.id, - text = this.text, - scheduledDate = this.date, - checked = this.checked, - ) + fun toEntity() = + Notification( + id = this.id, + text = this.text, + scheduledDate = this.date, + checked = this.checked, + ) } diff --git a/src/main/kotlin/com/epam/brn/dto/request/AddPatientToDoctorRequest.kt b/src/main/kotlin/com/epam/brn/dto/request/AddPatientToDoctorRequest.kt index e598b178e..9fc1277a8 100644 --- a/src/main/kotlin/com/epam/brn/dto/request/AddPatientToDoctorRequest.kt +++ b/src/main/kotlin/com/epam/brn/dto/request/AddPatientToDoctorRequest.kt @@ -1,7 +1,7 @@ package com.epam.brn.dto.request -import javax.validation.constraints.Min -import javax.validation.constraints.NotBlank +import jakarta.validation.constraints.Min +import jakarta.validation.constraints.NotBlank data class AddPatientToDoctorRequest( @field:Min(value = 1) diff --git a/src/main/kotlin/com/epam/brn/dto/request/AudiometryHistoryRequest.kt b/src/main/kotlin/com/epam/brn/dto/request/AudiometryHistoryRequest.kt index 179d6d930..ace122cc2 100644 --- a/src/main/kotlin/com/epam/brn/dto/request/AudiometryHistoryRequest.kt +++ b/src/main/kotlin/com/epam/brn/dto/request/AudiometryHistoryRequest.kt @@ -5,7 +5,7 @@ import com.epam.brn.model.AudiometryTask import com.epam.brn.model.Headphones import com.epam.brn.model.UserAccount import java.time.LocalDateTime -import javax.validation.constraints.NotNull +import jakarta.validation.constraints.NotNull data class AudiometryHistoryRequest( @field:NotNull diff --git a/src/main/kotlin/com/epam/brn/dto/request/SubGroupChangeRequest.kt b/src/main/kotlin/com/epam/brn/dto/request/SubGroupChangeRequest.kt index fb291da20..fc904df51 100644 --- a/src/main/kotlin/com/epam/brn/dto/request/SubGroupChangeRequest.kt +++ b/src/main/kotlin/com/epam/brn/dto/request/SubGroupChangeRequest.kt @@ -2,6 +2,7 @@ package com.epam.brn.dto.request import com.fasterxml.jackson.annotation.JsonCreator +@ConsistentCopyVisibility data class SubGroupChangeRequest @JsonCreator internal constructor( diff --git a/src/main/kotlin/com/epam/brn/dto/request/SubGroupRequest.kt b/src/main/kotlin/com/epam/brn/dto/request/SubGroupRequest.kt index adec7a8ca..f4460cd99 100644 --- a/src/main/kotlin/com/epam/brn/dto/request/SubGroupRequest.kt +++ b/src/main/kotlin/com/epam/brn/dto/request/SubGroupRequest.kt @@ -3,9 +3,10 @@ package com.epam.brn.dto.request import com.epam.brn.model.Series import com.epam.brn.model.SubGroup import com.fasterxml.jackson.annotation.JsonCreator -import javax.validation.constraints.NotBlank -import javax.validation.constraints.NotNull +import jakarta.validation.constraints.NotBlank +import jakarta.validation.constraints.NotNull +@ConsistentCopyVisibility data class SubGroupRequest @JsonCreator internal constructor( @@ -18,11 +19,12 @@ data class SubGroupRequest @field:NotBlank var description: String?, ) { - fun toModel(series: Series) = SubGroup( - name = this.name, - level = this.level!!, - code = this.code, - description = this.description, - series = series, - ) + fun toModel(series: Series) = + SubGroup( + name = this.name, + level = this.level!!, + code = this.code, + description = this.description, + series = series, + ) } diff --git a/src/main/kotlin/com/epam/brn/dto/request/UserAccountChangeRequest.kt b/src/main/kotlin/com/epam/brn/dto/request/UserAccountChangeRequest.kt index b527b0858..b6b34a1a8 100644 --- a/src/main/kotlin/com/epam/brn/dto/request/UserAccountChangeRequest.kt +++ b/src/main/kotlin/com/epam/brn/dto/request/UserAccountChangeRequest.kt @@ -2,7 +2,7 @@ package com.epam.brn.dto.request import com.epam.brn.enums.BrnGender import com.fasterxml.jackson.annotation.JsonInclude -import javax.validation.constraints.Min +import jakarta.validation.constraints.Min @JsonInclude(JsonInclude.Include.NON_NULL) data class UserAccountChangeRequest( diff --git a/src/main/kotlin/com/epam/brn/dto/request/UserAccountCreateRequest.kt b/src/main/kotlin/com/epam/brn/dto/request/UserAccountCreateRequest.kt index c76585a15..b9d5eafce 100644 --- a/src/main/kotlin/com/epam/brn/dto/request/UserAccountCreateRequest.kt +++ b/src/main/kotlin/com/epam/brn/dto/request/UserAccountCreateRequest.kt @@ -3,11 +3,11 @@ package com.epam.brn.dto.request import com.epam.brn.enums.BrnGender import com.epam.brn.model.UserAccount import com.fasterxml.jackson.annotation.JsonInclude -import javax.validation.constraints.Email -import javax.validation.constraints.NotBlank -import javax.validation.constraints.NotNull -import javax.validation.constraints.Pattern -import javax.validation.constraints.Size +import jakarta.validation.constraints.Email +import jakarta.validation.constraints.NotBlank +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Pattern +import jakarta.validation.constraints.Size const val VALID_EMAIL_ADDRESS_REGEX_WITH_EMPTY_SPACES_ACCEPTANCE: String = "(^\\s+$)|([a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)" @@ -35,13 +35,14 @@ data class UserAccountCreateRequest( val description: String? = null, ) { var roles: MutableSet? = mutableSetOf() - fun toModel() = UserAccount( - fullName = name, - email = email, - bornYear = bornYear, - gender = gender.toString(), - avatar = avatar, - photo = photo, - description = description, - ) + fun toModel() = + UserAccount( + fullName = name, + email = email, + bornYear = bornYear, + gender = gender.toString(), + avatar = avatar, + photo = photo, + description = description, + ) } diff --git a/src/main/kotlin/com/epam/brn/dto/request/contributor/ContactRequest.kt b/src/main/kotlin/com/epam/brn/dto/request/contributor/ContactRequest.kt index d240d94f2..3daaae412 100644 --- a/src/main/kotlin/com/epam/brn/dto/request/contributor/ContactRequest.kt +++ b/src/main/kotlin/com/epam/brn/dto/request/contributor/ContactRequest.kt @@ -3,8 +3,8 @@ package com.epam.brn.dto.request.contributor import com.epam.brn.enums.ContactType import com.epam.brn.model.Contact import org.hibernate.validator.constraints.Length -import javax.validation.constraints.NotBlank -import javax.validation.constraints.NotNull +import jakarta.validation.constraints.NotBlank +import jakarta.validation.constraints.NotNull data class ContactRequest( @field:NotNull @@ -13,8 +13,9 @@ data class ContactRequest( @field:Length(max = 255) val value: String?, ) { - fun toEntity() = Contact( - type = this.type!!, - value = this.value!!, - ) + fun toEntity() = + Contact( + type = this.type!!, + value = this.value!!, + ) } diff --git a/src/main/kotlin/com/epam/brn/dto/request/contributor/ContributorRequest.kt b/src/main/kotlin/com/epam/brn/dto/request/contributor/ContributorRequest.kt index bc4bbda2b..097caae7c 100644 --- a/src/main/kotlin/com/epam/brn/dto/request/contributor/ContributorRequest.kt +++ b/src/main/kotlin/com/epam/brn/dto/request/contributor/ContributorRequest.kt @@ -3,10 +3,10 @@ package com.epam.brn.dto.request.contributor import com.epam.brn.enums.ContributorType import com.epam.brn.model.Contributor import org.hibernate.validator.constraints.Length -import javax.validation.Valid -import javax.validation.constraints.NotBlank -import javax.validation.constraints.NotNull -import javax.validation.constraints.Positive +import jakarta.validation.Valid +import jakarta.validation.constraints.NotBlank +import jakarta.validation.constraints.NotNull +import jakarta.validation.constraints.Positive data class ContributorRequest( @field:NotBlank diff --git a/src/main/kotlin/com/epam/brn/dto/request/exercise/ExerciseCreateDto.kt b/src/main/kotlin/com/epam/brn/dto/request/exercise/ExerciseCreateDto.kt index 2788addfa..8c2080748 100644 --- a/src/main/kotlin/com/epam/brn/dto/request/exercise/ExerciseCreateDto.kt +++ b/src/main/kotlin/com/epam/brn/dto/request/exercise/ExerciseCreateDto.kt @@ -8,10 +8,10 @@ import com.epam.brn.upload.csv.seriesWords.SeriesWordsRecord import com.fasterxml.jackson.annotation.JsonSubTypes import com.fasterxml.jackson.annotation.JsonTypeInfo import io.swagger.v3.oas.annotations.media.Schema -import javax.validation.Valid -import javax.validation.constraints.NotBlank -import javax.validation.constraints.NotEmpty -import javax.validation.constraints.NotNull +import jakarta.validation.Valid +import jakarta.validation.constraints.NotBlank +import jakarta.validation.constraints.NotEmpty +import jakarta.validation.constraints.NotNull @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, @@ -64,14 +64,15 @@ data class ExerciseWordsCreateDto( @Schema(description = "Noise url", required = false, example = "voices") val noiseUrl: String? = null, ) : ExerciseCreateDto(ExerciseType.SINGLE_SIMPLE_WORDS, locale, subGroup, level, exerciseName) { - fun toSeriesWordsRecord() = SeriesWordsRecord( - level = level, - code = subGroup, - exerciseName = exerciseName, - words = words, - noiseLevel = noiseLevel, - noiseUrl = noiseUrl.orEmpty(), - ) + fun toSeriesWordsRecord() = + SeriesWordsRecord( + level = level, + code = subGroup, + exerciseName = exerciseName, + words = words, + noiseLevel = noiseLevel, + noiseUrl = noiseUrl.orEmpty(), + ) } @Schema(name = "ExercisePhrasesCreateDto", description = "Request dto for create exercise 'phrases'") @@ -97,14 +98,15 @@ data class ExercisePhrasesCreateDto( @Schema(description = "noise url", required = false, example = "voices") val noiseUrl: String? = null, ) : ExerciseCreateDto(ExerciseType.PHRASES, locale, subGroup, level, exerciseName) { - fun toSeriesPhrasesRecord() = SeriesPhrasesRecord( - level = level, - code = subGroup, - exerciseName = exerciseName, - phrases = phrases.toListWithDot(), - noiseLevel = noiseLevel, - noiseUrl = noiseUrl.orEmpty(), - ) + fun toSeriesPhrasesRecord() = + SeriesPhrasesRecord( + level = level, + code = subGroup, + exerciseName = exerciseName, + phrases = phrases.toListWithDot(), + noiseLevel = noiseLevel, + noiseUrl = noiseUrl.orEmpty(), + ) } @Schema(name = "ExerciseSentencesCreateDto", description = "Request dto for create exercise 'sentences'") @@ -128,11 +130,12 @@ data class ExerciseSentencesCreateDto( @field:NotNull val words: SetOfWords, ) : ExerciseCreateDto(ExerciseType.SENTENCE, locale, subGroup, level, exerciseName) { - fun toSeriesMatrixRecord() = SeriesMatrixRecord( - level = level, - code = subGroup, - exerciseName = exerciseName, - orderNumber = orderNumber, - words = words.toRecordList(), - ) + fun toSeriesMatrixRecord() = + SeriesMatrixRecord( + level = level, + code = subGroup, + exerciseName = exerciseName, + orderNumber = orderNumber, + words = words.toRecordList(), + ) } diff --git a/src/main/kotlin/com/epam/brn/dto/request/exercise/Phrases.kt b/src/main/kotlin/com/epam/brn/dto/request/exercise/Phrases.kt index 6f4ec8242..ce2959946 100644 --- a/src/main/kotlin/com/epam/brn/dto/request/exercise/Phrases.kt +++ b/src/main/kotlin/com/epam/brn/dto/request/exercise/Phrases.kt @@ -2,7 +2,7 @@ package com.epam.brn.dto.request.exercise import com.epam.brn.validator.WithoutPunctuation import io.swagger.v3.oas.annotations.media.Schema -import javax.validation.constraints.NotEmpty +import jakarta.validation.constraints.NotEmpty @Schema(name = "Phrases", description = "Phrases for creating exercise. Phrases should not contain punctuation marks.") data class Phrases( diff --git a/src/main/kotlin/com/epam/brn/dto/request/exercise/SetOfWords.kt b/src/main/kotlin/com/epam/brn/dto/request/exercise/SetOfWords.kt index c14c4e431..a3acd8ec7 100644 --- a/src/main/kotlin/com/epam/brn/dto/request/exercise/SetOfWords.kt +++ b/src/main/kotlin/com/epam/brn/dto/request/exercise/SetOfWords.kt @@ -18,21 +18,23 @@ data class SetOfWords( @Schema(description = "Words with wordType=ADDITION_OBJECT", example = "[шторы, пышки, вилки]") val additionObject: List = emptyList(), ) { - fun toRecordList(): List = listOf( - count.joinToString(separator = StringUtils.SPACE), - objectDescription.joinToString(separator = StringUtils.SPACE), - objectWord.joinToString(separator = StringUtils.SPACE), - objectAction.joinToString(separator = StringUtils.SPACE), - additionObjectDescription.joinToString(separator = StringUtils.SPACE), - additionObject.joinToString(separator = StringUtils.SPACE), - ) + fun toRecordList(): List = + listOf( + count.joinToString(separator = StringUtils.SPACE), + objectDescription.joinToString(separator = StringUtils.SPACE), + objectWord.joinToString(separator = StringUtils.SPACE), + objectAction.joinToString(separator = StringUtils.SPACE), + additionObjectDescription.joinToString(separator = StringUtils.SPACE), + additionObject.joinToString(separator = StringUtils.SPACE), + ) - fun toFlattenList(): List = listOf( - count, - objectDescription, - objectWord, - objectAction, - additionObjectDescription, - additionObject, - ).flatten() + fun toFlattenList(): List = + listOf( + count, + objectDescription, + objectWord, + objectAction, + additionObjectDescription, + additionObject, + ).flatten() } diff --git a/src/main/kotlin/com/epam/brn/dto/response/AudiometryResponse.kt b/src/main/kotlin/com/epam/brn/dto/response/AudiometryResponse.kt index bb80fa597..ba9a098b8 100644 --- a/src/main/kotlin/com/epam/brn/dto/response/AudiometryResponse.kt +++ b/src/main/kotlin/com/epam/brn/dto/response/AudiometryResponse.kt @@ -1,7 +1,7 @@ package com.epam.brn.dto.response import com.epam.brn.enums.AudiometryType -import javax.validation.constraints.NotBlank +import jakarta.validation.constraints.NotBlank data class AudiometryResponse( val id: Long?, diff --git a/src/main/kotlin/com/epam/brn/dto/statistics/DayStudyStatistics.kt b/src/main/kotlin/com/epam/brn/dto/statistics/DayStudyStatistics.kt index 656cace92..be3e521d4 100644 --- a/src/main/kotlin/com/epam/brn/dto/statistics/DayStudyStatistics.kt +++ b/src/main/kotlin/com/epam/brn/dto/statistics/DayStudyStatistics.kt @@ -8,9 +8,10 @@ data class DayStudyStatistics( val exercisingTimeSeconds: Int, var progress: UserExercisingProgressStatus? = null, ) : Statistics(progress) { - fun toDto(): DayStudyStatisticDto = DayStudyStatisticDto( - date = date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")), - exercisingTimeSeconds = exercisingTimeSeconds, - progress = progress, - ) + fun toDto(): DayStudyStatisticDto = + DayStudyStatisticDto( + date = date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")), + exercisingTimeSeconds = exercisingTimeSeconds, + progress = progress, + ) } diff --git a/src/main/kotlin/com/epam/brn/dto/statistics/MonthStudyStatistics.kt b/src/main/kotlin/com/epam/brn/dto/statistics/MonthStudyStatistics.kt index 2b99c7c9d..182703f94 100644 --- a/src/main/kotlin/com/epam/brn/dto/statistics/MonthStudyStatistics.kt +++ b/src/main/kotlin/com/epam/brn/dto/statistics/MonthStudyStatistics.kt @@ -9,10 +9,11 @@ data class MonthStudyStatistics( val exercisingDays: Int, var progress: UserExercisingProgressStatus?, ) : Statistics(progress) { - fun toDto(): MonthStudyStatisticDto = MonthStudyStatisticDto( - date = date.format(DateTimeFormatter.ofPattern("yyyy-MM")), - exercisingTimeSeconds = exercisingTimeSeconds, - exercisingDays = exercisingDays, - progress = progress, - ) + fun toDto(): MonthStudyStatisticDto = + MonthStudyStatisticDto( + date = date.format(DateTimeFormatter.ofPattern("yyyy-MM")), + exercisingTimeSeconds = exercisingTimeSeconds, + exercisingDays = exercisingDays, + progress = progress, + ) } diff --git a/src/main/kotlin/com/epam/brn/enums/ExerciseType.kt b/src/main/kotlin/com/epam/brn/enums/ExerciseType.kt index 7fefd437d..81a53a80d 100644 --- a/src/main/kotlin/com/epam/brn/enums/ExerciseType.kt +++ b/src/main/kotlin/com/epam/brn/enums/ExerciseType.kt @@ -25,8 +25,9 @@ val exercisesWithPictures = fun ExerciseType.shouldBeWithPictures(): Boolean = exercisesWithPictures.contains(this) -fun ExerciseType.toMechanism(): ExerciseMechanism = mapExerciseTypeToMechanism - .getOrElse(this) { throw IllegalArgumentException("No ExerciseMechanism is defined for $this.") } +fun ExerciseType.toMechanism(): ExerciseMechanism = + mapExerciseTypeToMechanism + .getOrElse(this) { throw IllegalArgumentException("No ExerciseMechanism is defined for $this.") } val mapExerciseTypeToMechanism = mapOf( diff --git a/src/main/kotlin/com/epam/brn/enums/WordType.kt b/src/main/kotlin/com/epam/brn/enums/WordType.kt index 4f7e42a4e..fcd027115 100644 --- a/src/main/kotlin/com/epam/brn/enums/WordType.kt +++ b/src/main/kotlin/com/epam/brn/enums/WordType.kt @@ -14,14 +14,15 @@ enum class WordType { ; companion object { - fun of(wordGroupPosition: Int): WordType = when (wordGroupPosition) { - 0 -> COUNT - 1 -> OBJECT_DESCRIPTION - 2 -> OBJECT - 3 -> OBJECT_ACTION - 4 -> ADDITION_OBJECT_DESCRIPTION - 5 -> ADDITION_OBJECT - else -> UNKNOWN - } + fun of(wordGroupPosition: Int): WordType = + when (wordGroupPosition) { + 0 -> COUNT + 1 -> OBJECT_DESCRIPTION + 2 -> OBJECT + 3 -> OBJECT_ACTION + 4 -> ADDITION_OBJECT_DESCRIPTION + 5 -> ADDITION_OBJECT + else -> UNKNOWN + } } } diff --git a/src/main/kotlin/com/epam/brn/model/Audiometry.kt b/src/main/kotlin/com/epam/brn/model/Audiometry.kt index 5128cee64..644f79cb6 100644 --- a/src/main/kotlin/com/epam/brn/model/Audiometry.kt +++ b/src/main/kotlin/com/epam/brn/model/Audiometry.kt @@ -2,16 +2,16 @@ package com.epam.brn.model import com.epam.brn.dto.response.AudiometryResponse import com.epam.brn.enums.AudiometryType -import javax.persistence.CascadeType -import javax.persistence.Column -import javax.persistence.Entity -import javax.persistence.FetchType -import javax.persistence.GeneratedValue -import javax.persistence.GenerationType -import javax.persistence.Id -import javax.persistence.OneToMany -import javax.persistence.Table -import javax.persistence.UniqueConstraint +import jakarta.persistence.CascadeType +import jakarta.persistence.Column +import jakarta.persistence.Entity +import jakarta.persistence.FetchType +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.OneToMany +import jakarta.persistence.Table +import jakarta.persistence.UniqueConstraint @Entity @Table(uniqueConstraints = [UniqueConstraint(columnNames = ["locale", "name", "audiometryType"])]) @@ -46,21 +46,23 @@ class Audiometry( return result } - fun toDtoWithoutTasks() = AudiometryResponse( - id, - locale, - name, - AudiometryType.valueOf(audiometryType), - description, - emptyList(), - ) + fun toDtoWithoutTasks() = + AudiometryResponse( + id, + locale, + name, + AudiometryType.valueOf(audiometryType), + description, + emptyList(), + ) - fun toDtoWithTasks(tasks: List): AudiometryResponse = AudiometryResponse( - id, - locale, - name, - AudiometryType.valueOf(audiometryType), - description, - tasks.map { it.toDto() }, - ) + fun toDtoWithTasks(tasks: List): AudiometryResponse = + AudiometryResponse( + id, + locale, + name, + AudiometryType.valueOf(audiometryType), + description, + tasks.map { it.toDto() }, + ) } diff --git a/src/main/kotlin/com/epam/brn/model/AudiometryHistory.kt b/src/main/kotlin/com/epam/brn/model/AudiometryHistory.kt index 5074074d1..2fcf3f394 100644 --- a/src/main/kotlin/com/epam/brn/model/AudiometryHistory.kt +++ b/src/main/kotlin/com/epam/brn/model/AudiometryHistory.kt @@ -2,19 +2,19 @@ package com.epam.brn.model import java.time.LocalDateTime import java.util.LinkedList -import javax.persistence.CascadeType -import javax.persistence.Column -import javax.persistence.Entity -import javax.persistence.FetchType -import javax.persistence.GeneratedValue -import javax.persistence.GenerationType -import javax.persistence.Id -import javax.persistence.JoinColumn -import javax.persistence.ManyToOne -import javax.persistence.OneToMany -import javax.persistence.OneToOne -import javax.persistence.Table -import javax.persistence.UniqueConstraint +import jakarta.persistence.CascadeType +import jakarta.persistence.Column +import jakarta.persistence.Entity +import jakarta.persistence.FetchType +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.JoinColumn +import jakarta.persistence.ManyToOne +import jakarta.persistence.OneToMany +import jakarta.persistence.OneToOne +import jakarta.persistence.Table +import jakarta.persistence.UniqueConstraint @Entity @Table( diff --git a/src/main/kotlin/com/epam/brn/model/AudiometryTask.kt b/src/main/kotlin/com/epam/brn/model/AudiometryTask.kt index b35aff2ad..b2d614c25 100644 --- a/src/main/kotlin/com/epam/brn/model/AudiometryTask.kt +++ b/src/main/kotlin/com/epam/brn/model/AudiometryTask.kt @@ -5,18 +5,18 @@ import com.epam.brn.dto.response.AudiometryMatrixTaskResponse import com.epam.brn.dto.response.AudiometrySignalsTaskResponse import com.epam.brn.enums.AudiometryType import com.epam.brn.enums.EAR -import javax.persistence.CascadeType -import javax.persistence.Entity -import javax.persistence.FetchType -import javax.persistence.GeneratedValue -import javax.persistence.GenerationType -import javax.persistence.Id -import javax.persistence.JoinColumn -import javax.persistence.JoinTable -import javax.persistence.ManyToMany -import javax.persistence.ManyToOne -import javax.persistence.Table -import javax.persistence.UniqueConstraint +import jakarta.persistence.CascadeType +import jakarta.persistence.Entity +import jakarta.persistence.FetchType +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.JoinColumn +import jakarta.persistence.JoinTable +import jakarta.persistence.ManyToMany +import jakarta.persistence.ManyToOne +import jakarta.persistence.Table +import jakarta.persistence.UniqueConstraint @Entity @Table(uniqueConstraints = [UniqueConstraint(columnNames = ["audiometryGroup", "frequencyZone"])]) @@ -66,34 +66,35 @@ class AudiometryTask( return result } - fun toDto(): Any = when (audiometry!!.audiometryType) { - AudiometryType.SIGNALS.name -> - AudiometrySignalsTaskResponse( - id, - EAR.valueOf(ear), - frequencies!!.removeSurrounding("[", "]").split(", ").map { it.toInt() }, - ) + fun toDto(): Any = + when (audiometry!!.audiometryType) { + AudiometryType.SIGNALS.name -> + AudiometrySignalsTaskResponse( + id, + EAR.valueOf(ear), + frequencies!!.removeSurrounding("[", "]").split(", ").map { it.toInt() }, + ) - AudiometryType.SPEECH.name -> - AudiometryLopotkoTaskResponse( - id, - level!!, - audiometryGroup!!, - frequencyZone!!, - minFrequency!!, - maxFrequency!!, - count!!, - showSize!!, - answerOptions, - ) + AudiometryType.SPEECH.name -> + AudiometryLopotkoTaskResponse( + id, + level!!, + audiometryGroup!!, + frequencyZone!!, + minFrequency!!, + maxFrequency!!, + count!!, + showSize!!, + answerOptions, + ) - AudiometryType.SPEECH.name -> - AudiometryMatrixTaskResponse( - id, - count!!, - answerOptions, - ) + AudiometryType.SPEECH.name -> + AudiometryMatrixTaskResponse( + id, + count!!, + answerOptions, + ) - else -> throw IllegalArgumentException("${audiometry!!.audiometryType} does not supported!") - } + else -> throw IllegalArgumentException("${audiometry!!.audiometryType} does not supported!") + } } diff --git a/src/main/kotlin/com/epam/brn/model/Contact.kt b/src/main/kotlin/com/epam/brn/model/Contact.kt index b71607d8a..086f7d138 100644 --- a/src/main/kotlin/com/epam/brn/model/Contact.kt +++ b/src/main/kotlin/com/epam/brn/model/Contact.kt @@ -2,13 +2,13 @@ package com.epam.brn.model import com.epam.brn.dto.ContactDto import com.epam.brn.enums.ContactType -import javax.persistence.Entity -import javax.persistence.EnumType -import javax.persistence.Enumerated -import javax.persistence.GeneratedValue -import javax.persistence.GenerationType -import javax.persistence.Id -import javax.persistence.Table +import jakarta.persistence.Entity +import jakarta.persistence.EnumType +import jakarta.persistence.Enumerated +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.Table @Entity @Table @@ -30,8 +30,9 @@ class Contact( override fun hashCode(): Int = id?.hashCode() ?: 0 - fun toDto(): ContactDto = ContactDto( - type = type.name, - value = value, - ) + fun toDto(): ContactDto = + ContactDto( + type = type.name, + value = value, + ) } diff --git a/src/main/kotlin/com/epam/brn/model/Contributor.kt b/src/main/kotlin/com/epam/brn/model/Contributor.kt index 746e64dac..1691c7ec5 100644 --- a/src/main/kotlin/com/epam/brn/model/Contributor.kt +++ b/src/main/kotlin/com/epam/brn/model/Contributor.kt @@ -4,17 +4,17 @@ import com.epam.brn.dto.response.ContributorDetailsResponse import com.epam.brn.dto.response.ContributorResponse import com.epam.brn.enums.ContributorType import org.hibernate.annotations.DynamicUpdate -import javax.persistence.CascadeType -import javax.persistence.Entity -import javax.persistence.EnumType -import javax.persistence.Enumerated -import javax.persistence.GeneratedValue -import javax.persistence.GenerationType -import javax.persistence.Id -import javax.persistence.JoinColumn -import javax.persistence.OneToMany -import javax.persistence.OneToOne -import javax.persistence.Table +import jakarta.persistence.CascadeType +import jakarta.persistence.Entity +import jakarta.persistence.EnumType +import jakarta.persistence.Enumerated +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.JoinColumn +import jakarta.persistence.OneToMany +import jakarta.persistence.OneToOne +import jakarta.persistence.Table @Entity @Table @@ -69,24 +69,25 @@ class Contributor( return dto } - fun toContributorDetailsDto(): ContributorDetailsResponse = ContributorDetailsResponse( - id = id!!, - type = type.name, - name = name, - description = description, - company = company, - nameEn = nameEn, - descriptionEn = descriptionEn, - companyEn = companyEn, - pictureUrl = pictureUrl, - active = active, - gitHubUser = gitHubUser?.toDto(), - contacts = - contacts - .map { - it.toDto() - }.toSet(), - ) + fun toContributorDetailsDto(): ContributorDetailsResponse = + ContributorDetailsResponse( + id = id!!, + type = type.name, + name = name, + description = description, + company = company, + nameEn = nameEn, + descriptionEn = descriptionEn, + companyEn = companyEn, + pictureUrl = pictureUrl, + active = active, + gitHubUser = gitHubUser?.toDto(), + contacts = + contacts + .map { + it.toDto() + }.toSet(), + ) override fun equals(other: Any?): Boolean { if (this === other) return true diff --git a/src/main/kotlin/com/epam/brn/model/Exercise.kt b/src/main/kotlin/com/epam/brn/model/Exercise.kt index c740183db..0419cb5a0 100644 --- a/src/main/kotlin/com/epam/brn/model/Exercise.kt +++ b/src/main/kotlin/com/epam/brn/model/Exercise.kt @@ -9,19 +9,19 @@ import org.springframework.data.annotation.LastModifiedDate import org.springframework.data.jpa.domain.support.AuditingEntityListener import java.time.LocalDateTime import java.time.ZoneOffset -import javax.persistence.CascadeType -import javax.persistence.Column -import javax.persistence.Entity -import javax.persistence.EntityListeners -import javax.persistence.FetchType -import javax.persistence.GeneratedValue -import javax.persistence.GenerationType -import javax.persistence.Id -import javax.persistence.JoinColumn -import javax.persistence.ManyToOne -import javax.persistence.OneToMany -import javax.persistence.Table -import javax.persistence.UniqueConstraint +import jakarta.persistence.CascadeType +import jakarta.persistence.Column +import jakarta.persistence.Entity +import jakarta.persistence.EntityListeners +import jakarta.persistence.FetchType +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.JoinColumn +import jakarta.persistence.ManyToOne +import jakarta.persistence.OneToMany +import jakarta.persistence.Table +import jakarta.persistence.UniqueConstraint @Entity @Table(uniqueConstraints = [UniqueConstraint(columnNames = ["name", "level"])]) @@ -53,35 +53,37 @@ class Exercise( @Column(name = "changed_when") @LastModifiedDate var changedWhen: LocalDateTime = LocalDateTime.now(ZoneOffset.UTC) - fun toDto(available: Boolean = true) = ExerciseDto( - seriesId = subGroup?.id, - id = id, - name = name, - template = template, - level = level, - noise = NoiseDto(noiseLevel, noiseUrl), - available = available, - tasks = tasks.map { task -> task.toTaskResponse(ExerciseType.valueOf(this.subGroup!!.series.type)) }, - signals = signals.map { signal -> signal.toSignalDto() }.toMutableList(), - active = active, - changedBy = changedBy, - changedWhen = changedWhen, - playWordsCount = playWordsCount, - wordsColumns = wordsColumns, - ) + fun toDto(available: Boolean = true) = + ExerciseDto( + seriesId = subGroup?.id, + id = id, + name = name, + template = template, + level = level, + noise = NoiseDto(noiseLevel, noiseUrl), + available = available, + tasks = tasks.map { task -> task.toTaskResponse(ExerciseType.valueOf(this.subGroup!!.series.type)) }, + signals = signals.map { signal -> signal.toSignalDto() }.toMutableList(), + active = active, + changedBy = changedBy, + changedWhen = changedWhen, + playWordsCount = playWordsCount, + wordsColumns = wordsColumns, + ) - fun toDtoWithWords() = ExerciseWithWordsResponse( - id = id, - name = name, - active = active, - changedBy = changedBy, - changedWhen = changedWhen, - playWordsCount = playWordsCount, - wordsColumns = wordsColumns, - words = tasks.flatMap { it.answerOptions }.associate { it.id!! to it.word }, - subGroupName = subGroup?.name, - seriesName = subGroup?.series?.name, - ) + fun toDtoWithWords() = + ExerciseWithWordsResponse( + id = id, + name = name, + active = active, + changedBy = changedBy, + changedWhen = changedWhen, + playWordsCount = playWordsCount, + wordsColumns = wordsColumns, + words = tasks.flatMap { it.answerOptions }.associate { it.id!! to it.word }, + subGroupName = subGroup?.name, + seriesName = subGroup?.series?.name, + ) override fun equals(other: Any?): Boolean { if (this === other) return true diff --git a/src/main/kotlin/com/epam/brn/model/ExerciseGroup.kt b/src/main/kotlin/com/epam/brn/model/ExerciseGroup.kt index 8cce4e2ec..bfce8d628 100644 --- a/src/main/kotlin/com/epam/brn/model/ExerciseGroup.kt +++ b/src/main/kotlin/com/epam/brn/model/ExerciseGroup.kt @@ -3,15 +3,15 @@ package com.epam.brn.model import com.epam.brn.dto.ExerciseGroupDto import com.epam.brn.enums.BrnLocale import com.epam.brn.upload.csv.group.GroupRecord -import javax.persistence.CascadeType -import javax.persistence.Column -import javax.persistence.Entity -import javax.persistence.FetchType -import javax.persistence.GeneratedValue -import javax.persistence.GenerationType -import javax.persistence.Id -import javax.persistence.OneToMany -import javax.persistence.Table +import jakarta.persistence.CascadeType +import jakarta.persistence.Column +import jakarta.persistence.Entity +import jakarta.persistence.FetchType +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.OneToMany +import jakarta.persistence.Table // The discrepancy in naming with "Groups" endpoint and "ExerciseGroup" entity is due to group being a reserved word in db. @Entity @@ -38,20 +38,22 @@ class ExerciseGroup( description = record.description, ) - fun toDto() = ExerciseGroupDto( - id = id, - locale = locale, - name = name, - description = description, - series = series.map { series -> series.id }.toMutableList(), - ) + fun toDto() = + ExerciseGroupDto( + id = id, + locale = locale, + name = name, + description = description, + series = series.map { series -> series.id }.toMutableList(), + ) - fun toDtoWithoutSeries() = ExerciseGroupDto( - id = id, - locale = locale, - name = name, - description = description, - ) + fun toDtoWithoutSeries() = + ExerciseGroupDto( + id = id, + locale = locale, + name = name, + description = description, + ) override fun equals(other: Any?): Boolean { if (this === other) return true diff --git a/src/main/kotlin/com/epam/brn/model/GitHubUser.kt b/src/main/kotlin/com/epam/brn/model/GitHubUser.kt index 8d477e33f..228b21f4f 100644 --- a/src/main/kotlin/com/epam/brn/model/GitHubUser.kt +++ b/src/main/kotlin/com/epam/brn/model/GitHubUser.kt @@ -2,9 +2,9 @@ package com.epam.brn.model import com.epam.brn.dto.GitHubUserDto import org.hibernate.annotations.DynamicUpdate -import javax.persistence.Entity -import javax.persistence.Id -import javax.persistence.Table +import jakarta.persistence.Entity +import jakarta.persistence.Id +import jakarta.persistence.Table @Entity @Table(name = "github_user") @@ -20,15 +20,16 @@ class GitHubUser( var company: String?, var contributions: Long, ) { - fun toDto(): GitHubUserDto = GitHubUserDto( - id = id, - login = login, - name = name, - email = email, - avatarUrl = avatarUrl, - bio = bio, - company = company, - ) + fun toDto(): GitHubUserDto = + GitHubUserDto( + id = id, + login = login, + name = name, + email = email, + avatarUrl = avatarUrl, + bio = bio, + company = company, + ) override fun equals(other: Any?): Boolean { if (this === other) return true diff --git a/src/main/kotlin/com/epam/brn/model/Headphones.kt b/src/main/kotlin/com/epam/brn/model/Headphones.kt index c49540682..91c6348d7 100644 --- a/src/main/kotlin/com/epam/brn/model/Headphones.kt +++ b/src/main/kotlin/com/epam/brn/model/Headphones.kt @@ -2,18 +2,18 @@ package com.epam.brn.model import com.epam.brn.dto.HeadphonesDto import com.epam.brn.enums.HeadphonesType -import javax.persistence.Entity -import javax.persistence.EnumType -import javax.persistence.Enumerated -import javax.persistence.FetchType -import javax.persistence.GeneratedValue -import javax.persistence.GenerationType -import javax.persistence.Id -import javax.persistence.JoinColumn -import javax.persistence.ManyToOne -import javax.persistence.Table -import javax.persistence.UniqueConstraint -import javax.validation.constraints.NotNull +import jakarta.persistence.Entity +import jakarta.persistence.EnumType +import jakarta.persistence.Enumerated +import jakarta.persistence.FetchType +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.JoinColumn +import jakarta.persistence.ManyToOne +import jakarta.persistence.Table +import jakarta.persistence.UniqueConstraint +import jakarta.validation.constraints.NotNull @Entity @Table(uniqueConstraints = [UniqueConstraint(columnNames = ["name", "userId"])]) @@ -32,14 +32,15 @@ class Headphones( @JoinColumn(name = "userId") var userAccount: UserAccount? = null, ) { - fun toDto() = HeadphonesDto( - id, - name = name, - active = active, - description = description, - type = type, - userAccount = userAccount?.id, - ) + fun toDto() = + HeadphonesDto( + id, + name = name, + active = active, + description = description, + type = type, + userAccount = userAccount?.id, + ) override fun equals(other: Any?): Boolean { if (this === other) return true diff --git a/src/main/kotlin/com/epam/brn/model/Notification.kt b/src/main/kotlin/com/epam/brn/model/Notification.kt index bd7a95ee0..ab8a69d3b 100644 --- a/src/main/kotlin/com/epam/brn/model/Notification.kt +++ b/src/main/kotlin/com/epam/brn/model/Notification.kt @@ -2,14 +2,14 @@ package com.epam.brn.model import com.epam.brn.dto.notification.NotificationDto import java.time.LocalDateTime -import javax.persistence.Entity -import javax.persistence.FetchType -import javax.persistence.GeneratedValue -import javax.persistence.GenerationType -import javax.persistence.Id -import javax.persistence.JoinColumn -import javax.persistence.ManyToOne -import javax.persistence.Table +import jakarta.persistence.Entity +import jakarta.persistence.FetchType +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.JoinColumn +import jakarta.persistence.ManyToOne +import jakarta.persistence.Table @Entity @Table @@ -24,11 +24,12 @@ class Notification( var scheduledDate: LocalDateTime, var checked: Boolean = false, ) { - fun toDto() = NotificationDto( - id = id, - userAccount = userAccount!!.id, - text = text, - date = scheduledDate, - checked = checked, - ) + fun toDto() = + NotificationDto( + id = id, + userAccount = userAccount!!.id, + text = text, + date = scheduledDate, + checked = checked, + ) } diff --git a/src/main/kotlin/com/epam/brn/model/Resource.kt b/src/main/kotlin/com/epam/brn/model/Resource.kt index 9f5d0b14f..df38437f6 100644 --- a/src/main/kotlin/com/epam/brn/model/Resource.kt +++ b/src/main/kotlin/com/epam/brn/model/Resource.kt @@ -2,16 +2,16 @@ package com.epam.brn.model import com.epam.brn.dto.response.ResourceResponse import com.epam.brn.enums.WordType -import javax.persistence.CascadeType -import javax.persistence.Column -import javax.persistence.Entity -import javax.persistence.GeneratedValue -import javax.persistence.GenerationType -import javax.persistence.Id -import javax.persistence.Index -import javax.persistence.ManyToMany -import javax.persistence.Table -import javax.persistence.UniqueConstraint +import jakarta.persistence.CascadeType +import jakarta.persistence.Column +import jakarta.persistence.Entity +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.Index +import jakarta.persistence.ManyToMany +import jakarta.persistence.Table +import jakarta.persistence.UniqueConstraint @Entity @Table( @@ -34,15 +34,16 @@ class Resource( var tasks: MutableSet = HashSet(), var description: String? = "", ) { - fun toResponse() = ResourceResponse( - id = id, - word = word.replace("+", ""), - wordPronounce = word, - pictureFileUrl = pictureFileUrl, - soundsCount = soundsCount, - wordType = WordType.valueOf(wordType), - description = description, - ) + fun toResponse() = + ResourceResponse( + id = id, + word = word.replace("+", ""), + wordPronounce = word, + pictureFileUrl = pictureFileUrl, + soundsCount = soundsCount, + wordType = WordType.valueOf(wordType), + description = description, + ) override fun equals(other: Any?): Boolean { if (this === other) return true if (javaClass != other?.javaClass) return false diff --git a/src/main/kotlin/com/epam/brn/model/Role.kt b/src/main/kotlin/com/epam/brn/model/Role.kt index 8b46b5463..b6782e205 100644 --- a/src/main/kotlin/com/epam/brn/model/Role.kt +++ b/src/main/kotlin/com/epam/brn/model/Role.kt @@ -1,11 +1,11 @@ package com.epam.brn.model import com.epam.brn.dto.response.RoleResponse -import javax.persistence.Column -import javax.persistence.Entity -import javax.persistence.GeneratedValue -import javax.persistence.GenerationType -import javax.persistence.Id +import jakarta.persistence.Column +import jakarta.persistence.Entity +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id @Entity class Role( diff --git a/src/main/kotlin/com/epam/brn/model/Series.kt b/src/main/kotlin/com/epam/brn/model/Series.kt index 4e6529255..be77073a5 100644 --- a/src/main/kotlin/com/epam/brn/model/Series.kt +++ b/src/main/kotlin/com/epam/brn/model/Series.kt @@ -3,16 +3,16 @@ package com.epam.brn.model import com.epam.brn.dto.SeriesDto import com.epam.brn.enums.ExerciseType import com.epam.brn.upload.csv.series.SeriesGenericRecord -import javax.persistence.CascadeType -import javax.persistence.Column -import javax.persistence.Entity -import javax.persistence.FetchType -import javax.persistence.GeneratedValue -import javax.persistence.GenerationType -import javax.persistence.Id -import javax.persistence.JoinColumn -import javax.persistence.ManyToOne -import javax.persistence.OneToMany +import jakarta.persistence.CascadeType +import jakarta.persistence.Column +import jakarta.persistence.Entity +import jakarta.persistence.FetchType +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.JoinColumn +import jakarta.persistence.ManyToOne +import jakarta.persistence.OneToMany @Entity class Series( @@ -41,18 +41,19 @@ class Series( description = record.description, ) - fun toDto() = SeriesDto( - group = exerciseGroup.id!!, - id = id, - level = level, - name = name, - type = ExerciseType.valueOf(type), - description = description, - subGroups = - subGroups - .sortedBy { it.withPictures } - .map { subGroup -> subGroup.id!! }, - ) + fun toDto() = + SeriesDto( + group = exerciseGroup.id!!, + id = id, + level = level, + name = name, + type = ExerciseType.valueOf(type), + description = description, + subGroups = + subGroups + .sortedBy { it.withPictures } + .map { subGroup -> subGroup.id!! }, + ) override fun toString() = "Series(id=$id, type=$type, level=$level, name='$name', description='$description')" diff --git a/src/main/kotlin/com/epam/brn/model/Signal.kt b/src/main/kotlin/com/epam/brn/model/Signal.kt index 47e2815f1..52644d6ea 100644 --- a/src/main/kotlin/com/epam/brn/model/Signal.kt +++ b/src/main/kotlin/com/epam/brn/model/Signal.kt @@ -1,13 +1,13 @@ package com.epam.brn.model import com.epam.brn.dto.SignalTaskDto -import javax.persistence.Entity -import javax.persistence.FetchType -import javax.persistence.GeneratedValue -import javax.persistence.GenerationType -import javax.persistence.Id -import javax.persistence.JoinColumn -import javax.persistence.ManyToOne +import jakarta.persistence.Entity +import jakarta.persistence.FetchType +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.JoinColumn +import jakarta.persistence.ManyToOne @Entity class Signal( @@ -22,13 +22,14 @@ class Signal( @JoinColumn(name = "exercise_id") var exercise: Exercise? = null, ) { - fun toSignalDto() = SignalTaskDto( - id = id, - name = name, - url = url, - frequency = frequency, - length = length, - ) + fun toSignalDto() = + SignalTaskDto( + id = id, + name = name, + url = url, + frequency = frequency, + length = length, + ) override fun equals(other: Any?): Boolean { if (this === other) return true if (javaClass != other?.javaClass) return false diff --git a/src/main/kotlin/com/epam/brn/model/SinAudiometryResult.kt b/src/main/kotlin/com/epam/brn/model/SinAudiometryResult.kt index de842fb22..4c0dcf5b4 100644 --- a/src/main/kotlin/com/epam/brn/model/SinAudiometryResult.kt +++ b/src/main/kotlin/com/epam/brn/model/SinAudiometryResult.kt @@ -1,12 +1,12 @@ package com.epam.brn.model -import javax.persistence.Entity -import javax.persistence.FetchType -import javax.persistence.GeneratedValue -import javax.persistence.GenerationType -import javax.persistence.Id -import javax.persistence.JoinColumn -import javax.persistence.ManyToOne +import jakarta.persistence.Entity +import jakarta.persistence.FetchType +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.JoinColumn +import jakarta.persistence.ManyToOne @Entity class SinAudiometryResult( diff --git a/src/main/kotlin/com/epam/brn/model/StudyHistory.kt b/src/main/kotlin/com/epam/brn/model/StudyHistory.kt index 47798b1fd..06337bcbe 100644 --- a/src/main/kotlin/com/epam/brn/model/StudyHistory.kt +++ b/src/main/kotlin/com/epam/brn/model/StudyHistory.kt @@ -3,16 +3,16 @@ package com.epam.brn.model import com.epam.brn.dto.StudyHistoryDto import java.time.LocalDateTime import java.time.ZoneOffset -import javax.persistence.Entity -import javax.persistence.FetchType -import javax.persistence.GeneratedValue -import javax.persistence.GenerationType -import javax.persistence.Id -import javax.persistence.Index -import javax.persistence.JoinColumn -import javax.persistence.ManyToOne -import javax.persistence.Table -import javax.persistence.UniqueConstraint +import jakarta.persistence.Entity +import jakarta.persistence.FetchType +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.Index +import jakarta.persistence.JoinColumn +import jakarta.persistence.ManyToOne +import jakarta.persistence.Table +import jakarta.persistence.UniqueConstraint @Entity @Table( @@ -43,14 +43,15 @@ class StudyHistory( var repetitionIndex: Float? = 0.0f, var rightAnswersIndex: Float? = 1.0f, ) { - fun toDto() = StudyHistoryDto( - id = this.id, - exerciseId = this.exercise.id!!, - startTime = this.startTime, - endTime = this.endTime, - executionSeconds = this.executionSeconds, - tasksCount = this.tasksCount, - wrongAnswers = this.wrongAnswers, - replaysCount = this.replaysCount, - ) + fun toDto() = + StudyHistoryDto( + id = this.id, + exerciseId = this.exercise.id!!, + startTime = this.startTime, + endTime = this.endTime, + executionSeconds = this.executionSeconds, + tasksCount = this.tasksCount, + wrongAnswers = this.wrongAnswers, + replaysCount = this.replaysCount, + ) } diff --git a/src/main/kotlin/com/epam/brn/model/SubGroup.kt b/src/main/kotlin/com/epam/brn/model/SubGroup.kt index 3874704e5..274da6839 100644 --- a/src/main/kotlin/com/epam/brn/model/SubGroup.kt +++ b/src/main/kotlin/com/epam/brn/model/SubGroup.kt @@ -2,18 +2,18 @@ package com.epam.brn.model import com.epam.brn.dto.response.SubGroupResponse import com.epam.brn.upload.csv.subgroup.SubgroupGenericRecord -import javax.persistence.CascadeType -import javax.persistence.Column -import javax.persistence.Entity -import javax.persistence.FetchType -import javax.persistence.GeneratedValue -import javax.persistence.GenerationType -import javax.persistence.Id -import javax.persistence.JoinColumn -import javax.persistence.ManyToOne -import javax.persistence.OneToMany -import javax.persistence.Table -import javax.persistence.UniqueConstraint +import jakarta.persistence.CascadeType +import jakarta.persistence.Column +import jakarta.persistence.Entity +import jakarta.persistence.FetchType +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.JoinColumn +import jakarta.persistence.ManyToOne +import jakarta.persistence.OneToMany +import jakarta.persistence.Table +import jakarta.persistence.UniqueConstraint @Entity @Table(uniqueConstraints = [UniqueConstraint(columnNames = ["name", "level"])]) @@ -41,16 +41,17 @@ class SubGroup( description = record.description, ) - fun toResponse(pictureUrl: String) = SubGroupResponse( - seriesId = series.id!!, - id = id!!, - name = name, - pictureUrl = pictureUrl, - description = description, - level = level, - withPictures = withPictures, - exercises = exercises.map { exercise -> exercise.id }.toMutableList(), - ) + fun toResponse(pictureUrl: String) = + SubGroupResponse( + seriesId = series.id!!, + id = id!!, + name = name, + pictureUrl = pictureUrl, + description = description, + level = level, + withPictures = withPictures, + exercises = exercises.map { exercise -> exercise.id }.toMutableList(), + ) override fun equals(other: Any?): Boolean { if (this === other) return true if (javaClass != other?.javaClass) return false diff --git a/src/main/kotlin/com/epam/brn/model/Task.kt b/src/main/kotlin/com/epam/brn/model/Task.kt index d3fb79bb6..45438ff5d 100644 --- a/src/main/kotlin/com/epam/brn/model/Task.kt +++ b/src/main/kotlin/com/epam/brn/model/Task.kt @@ -4,17 +4,17 @@ import com.epam.brn.dto.response.TaskResponse import com.epam.brn.dto.response.TaskWordsGroupResponse import com.epam.brn.enums.ExerciseType import com.epam.brn.enums.shouldBeWithPictures -import javax.persistence.CascadeType -import javax.persistence.Entity -import javax.persistence.FetchType -import javax.persistence.GeneratedValue -import javax.persistence.GenerationType -import javax.persistence.Id -import javax.persistence.JoinColumn -import javax.persistence.JoinTable -import javax.persistence.ManyToMany -import javax.persistence.ManyToOne -import javax.persistence.OneToOne +import jakarta.persistence.CascadeType +import jakarta.persistence.Entity +import jakarta.persistence.FetchType +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.JoinColumn +import jakarta.persistence.JoinTable +import jakarta.persistence.ManyToMany +import jakarta.persistence.ManyToOne +import jakarta.persistence.OneToOne @Entity class Task( @@ -44,14 +44,15 @@ class Task( ) var answerParts: MutableMap = mutableMapOf(), ) { - fun toTaskResponse(exerciseType: ExerciseType) = TaskResponse( - id = id!!, - exerciseType = exerciseType, - name = name, - serialNumber = serialNumber, - answerOptions = answerOptions.map { answer -> answer.toResponse() }.toHashSet(), - shouldBeWithPictures = exerciseType.shouldBeWithPictures(), - ) + fun toTaskResponse(exerciseType: ExerciseType) = + TaskResponse( + id = id!!, + exerciseType = exerciseType, + name = name, + serialNumber = serialNumber, + answerOptions = answerOptions.map { answer -> answer.toResponse() }.toHashSet(), + shouldBeWithPictures = exerciseType.shouldBeWithPictures(), + ) fun toWordsGroupSeriesTaskDto( exerciseType: ExerciseType, diff --git a/src/main/kotlin/com/epam/brn/model/UserAccount.kt b/src/main/kotlin/com/epam/brn/model/UserAccount.kt index aa8e0de10..3d5c99e80 100644 --- a/src/main/kotlin/com/epam/brn/model/UserAccount.kt +++ b/src/main/kotlin/com/epam/brn/model/UserAccount.kt @@ -9,19 +9,19 @@ import org.springframework.data.annotation.LastModifiedDate import org.springframework.data.jpa.domain.support.AuditingEntityListener import java.time.LocalDateTime import java.time.ZoneOffset -import javax.persistence.CascadeType -import javax.persistence.Column -import javax.persistence.Entity -import javax.persistence.EntityListeners -import javax.persistence.FetchType -import javax.persistence.GeneratedValue -import javax.persistence.GenerationType -import javax.persistence.Id -import javax.persistence.JoinColumn -import javax.persistence.JoinTable -import javax.persistence.ManyToMany -import javax.persistence.ManyToOne -import javax.persistence.OneToMany +import jakarta.persistence.CascadeType +import jakarta.persistence.Column +import jakarta.persistence.Entity +import jakarta.persistence.EntityListeners +import jakarta.persistence.FetchType +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.JoinColumn +import jakarta.persistence.JoinTable +import jakarta.persistence.ManyToMany +import jakarta.persistence.ManyToOne +import jakarta.persistence.OneToMany @Entity @EntityListeners(AuditingEntityListener::class) @@ -68,41 +68,43 @@ class UserAccount( ) var roleSet: MutableSet = hashSetOf() - fun toDto() = UserAccountDto( - id = id, - userId = userId, - name = fullName, - active = active, - email = email, - bornYear = bornYear, - gender = gender?.let { BrnGender.valueOf(it) }, - created = created, - changed = changed, - avatar = avatar, - photo = photo, - description = description, - headphones = - headphones - .map(Headphones::toDto) - .toHashSet(), - doctorId = doctor?.id, - ).also { - it.roles = - this.roleSet - .map(Role::name) - .toMutableSet() - } + fun toDto() = + UserAccountDto( + id = id, + userId = userId, + name = fullName, + active = active, + email = email, + bornYear = bornYear, + gender = gender?.let { BrnGender.valueOf(it) }, + created = created, + changed = changed, + avatar = avatar, + photo = photo, + description = description, + headphones = + headphones + .map(Headphones::toDto) + .toHashSet(), + doctorId = doctor?.id, + ).also { + it.roles = + this.roleSet + .map(Role::name) + .toMutableSet() + } - fun toAnalyticsDto() = UserWithAnalyticsResponse( - id = id, - userId = userId, - name = fullName, - active = active, - email = email, - bornYear = bornYear, - gender = gender?.let { BrnGender.valueOf(it) }, - lastVisit = lastVisit ?: created, - ) + fun toAnalyticsDto() = + UserWithAnalyticsResponse( + id = id, + userId = userId, + name = fullName, + active = active, + email = email, + bornYear = bornYear, + gender = gender?.let { BrnGender.valueOf(it) }, + lastVisit = lastVisit ?: created, + ) override fun equals(other: Any?): Boolean { if (this === other) return true diff --git a/src/main/kotlin/com/epam/brn/model/azure/tts/AzureSpeechStyle.kt b/src/main/kotlin/com/epam/brn/model/azure/tts/AzureSpeechStyle.kt index f1af98a17..a8aee2eb4 100644 --- a/src/main/kotlin/com/epam/brn/model/azure/tts/AzureSpeechStyle.kt +++ b/src/main/kotlin/com/epam/brn/model/azure/tts/AzureSpeechStyle.kt @@ -1,11 +1,11 @@ package com.epam.brn.model.azure.tts -import javax.persistence.Column -import javax.persistence.Entity -import javax.persistence.GeneratedValue -import javax.persistence.GenerationType -import javax.persistence.Id -import javax.persistence.ManyToMany +import jakarta.persistence.Column +import jakarta.persistence.Entity +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.ManyToMany @Entity class AzureSpeechStyle( diff --git a/src/main/kotlin/com/epam/brn/model/azure/tts/AzureVoiceInfo.kt b/src/main/kotlin/com/epam/brn/model/azure/tts/AzureVoiceInfo.kt index f20abc2b1..48ccc55a8 100644 --- a/src/main/kotlin/com/epam/brn/model/azure/tts/AzureVoiceInfo.kt +++ b/src/main/kotlin/com/epam/brn/model/azure/tts/AzureVoiceInfo.kt @@ -1,14 +1,14 @@ package com.epam.brn.model.azure.tts -import javax.persistence.CascadeType -import javax.persistence.Column -import javax.persistence.Entity -import javax.persistence.GeneratedValue -import javax.persistence.GenerationType -import javax.persistence.Id -import javax.persistence.JoinColumn -import javax.persistence.JoinTable -import javax.persistence.ManyToMany +import jakarta.persistence.CascadeType +import jakarta.persistence.Column +import jakarta.persistence.Entity +import jakarta.persistence.GeneratedValue +import jakarta.persistence.GenerationType +import jakarta.persistence.Id +import jakarta.persistence.JoinColumn +import jakarta.persistence.JoinTable +import jakarta.persistence.ManyToMany @Entity class AzureVoiceInfo( diff --git a/src/main/kotlin/com/epam/brn/repo/StudyHistoryRepository.kt b/src/main/kotlin/com/epam/brn/repo/StudyHistoryRepository.kt index 249295d9c..b8aa02089 100644 --- a/src/main/kotlin/com/epam/brn/repo/StudyHistoryRepository.kt +++ b/src/main/kotlin/com/epam/brn/repo/StudyHistoryRepository.kt @@ -80,7 +80,7 @@ interface StudyHistoryRepository : CrudRepository { @Query( "SELECT COALESCE(sum(s.executionSeconds), 0) FROM StudyHistory s " + - " WHERE date_trunc('day', s.startTime) = :day" + + " WHERE DATE(s.startTime) = DATE(:day)" + " AND s.userAccount.id = :userId", ) fun getDayTimer( @@ -90,7 +90,7 @@ interface StudyHistoryRepository : CrudRepository { @Query( "SELECT COALESCE(sum(COALESCE(s.executionSeconds, 0)), 0) FROM StudyHistory s " + - " WHERE date_trunc('day', now()) = date_trunc('day', s.startTime)" + + " WHERE DATE(now()) = DATE(s.startTime)" + " AND s.userAccount.id = :userId", ) fun getTodayDayTimer(userId: Long): Int @@ -111,7 +111,7 @@ interface StudyHistoryRepository : CrudRepository { @Query( "SELECT MIN(s.startTime) AS firstStudy, MAX(s.startTime) AS lastStudy," + " COALESCE(SUM(s.spentTimeInSeconds), 0) AS spentTime, COUNT (DISTINCT s.exercise.id) as doneExercises" + - " FROM StudyHistory s WHERE user_id = :userId", + " FROM StudyHistory s WHERE s.userAccount.id = :userId", ) fun getStatisticsByUserAccountId(userId: Long?): UserStatisticView @@ -129,7 +129,7 @@ interface StudyHistoryRepository : CrudRepository { @Query( "SELECT s FROM StudyHistory s " + - " WHERE date_trunc('day', now()) = date_trunc('day', s.startTime) " + + " WHERE DATE(now()) = DATE(s.startTime) " + " AND s.userAccount.id = :userId", ) fun getTodayHistories(userId: Long): List diff --git a/src/main/kotlin/com/epam/brn/service/AudiometryHistoryService.kt b/src/main/kotlin/com/epam/brn/service/AudiometryHistoryService.kt index f55e7a612..f86ce39e1 100644 --- a/src/main/kotlin/com/epam/brn/service/AudiometryHistoryService.kt +++ b/src/main/kotlin/com/epam/brn/service/AudiometryHistoryService.kt @@ -8,7 +8,7 @@ import com.epam.brn.repo.AudiometryHistoryRepository import com.epam.brn.repo.AudiometryTaskRepository import com.epam.brn.repo.SinAudiometryResultRepository import org.springframework.stereotype.Service -import javax.transaction.Transactional +import jakarta.transaction.Transactional @Service class AudiometryHistoryService( diff --git a/src/main/kotlin/com/epam/brn/service/AudiometryService.kt b/src/main/kotlin/com/epam/brn/service/AudiometryService.kt index a3a0ff597..6db9361fa 100644 --- a/src/main/kotlin/com/epam/brn/service/AudiometryService.kt +++ b/src/main/kotlin/com/epam/brn/service/AudiometryService.kt @@ -22,9 +22,10 @@ class AudiometryService( @Value("#{'\${frequencyForDiagnostic}'.split(',')}") lateinit var frequencyForDiagnostic: List - fun getAudiometrics(locale: String): List = audiometryRepository - .findByLocale(locale) - .map { a -> a.toDtoWithoutTasks() } + fun getAudiometrics(locale: String): List = + audiometryRepository + .findByLocale(locale) + .map { a -> a.toDtoWithoutTasks() } fun getAudiometry(audiometryId: Long): AudiometryResponse { val audiometry = @@ -35,17 +36,18 @@ class AudiometryService( return audiometry.toDtoWithTasks(userTasks) } - fun getUserAudiometryTasks(audiometry: Audiometry): List = when (audiometry.audiometryType) { - AudiometryType.SIGNALS.name, AudiometryType.MATRIX.name -> - audiometryTaskRepository.findByAudiometry( - audiometry, - ) - AudiometryType.SPEECH.name -> { - val user = userAccountService.getCurrentUser() - findSecondSpeechAudiometryTasks(user, audiometry) + fun getUserAudiometryTasks(audiometry: Audiometry): List = + when (audiometry.audiometryType) { + AudiometryType.SIGNALS.name, AudiometryType.MATRIX.name -> + audiometryTaskRepository.findByAudiometry( + audiometry, + ) + AudiometryType.SPEECH.name -> { + val user = userAccountService.getCurrentUser() + findSecondSpeechAudiometryTasks(user, audiometry) + } + else -> throw IllegalArgumentException("Audiometry `$audiometry` does not supported in the system.") } - else -> throw IllegalArgumentException("Audiometry `$audiometry` does not supported in the system.") - } fun findSecondSpeechAudiometryTasks( user: UserAccount, diff --git a/src/main/kotlin/com/epam/brn/service/BrainUpUserDetailsService.kt b/src/main/kotlin/com/epam/brn/service/BrainUpUserDetailsService.kt index af3468103..863e01f63 100644 --- a/src/main/kotlin/com/epam/brn/service/BrainUpUserDetailsService.kt +++ b/src/main/kotlin/com/epam/brn/service/BrainUpUserDetailsService.kt @@ -11,8 +11,9 @@ import org.springframework.stereotype.Service class BrainUpUserDetailsService( private val userAccountRepository: UserAccountRepository, ) : UserDetailsService { - override fun loadUserByUsername(email: String): UserDetails = userAccountRepository - .findUserAccountByEmail(email) - .map { CustomUserDetails(it) } - .orElseThrow { UsernameNotFoundException("User with email: $email doesn't exist") } + override fun loadUserByUsername(email: String): UserDetails = + userAccountRepository + .findUserAccountByEmail(email) + .map { CustomUserDetails(it) } + .orElseThrow { UsernameNotFoundException("User with email: $email doesn't exist") } } diff --git a/src/main/kotlin/com/epam/brn/service/ContributorServiceImpl.kt b/src/main/kotlin/com/epam/brn/service/ContributorServiceImpl.kt index 8ad7faf92..1bb0f0660 100644 --- a/src/main/kotlin/com/epam/brn/service/ContributorServiceImpl.kt +++ b/src/main/kotlin/com/epam/brn/service/ContributorServiceImpl.kt @@ -16,25 +16,27 @@ class ContributorServiceImpl( val contributorRepository: ContributorRepository, ) : ContributorService { @Transactional(readOnly = true) - override fun getAllContributors(): List = contributorRepository - .findAll() - .stream() - .map { e -> e.toContributorResponse() } - .toList() + override fun getAllContributors(): List = + contributorRepository + .findAll() + .stream() + .map { e -> e.toContributorResponse() } + .toList() @Transactional(readOnly = true) override fun getContributors( locale: String, type: ContributorType, - ): List = contributorRepository - .findAllByType(type) - .stream() - .map { e -> e.toContributorResponse(locale) } - .toList() + ): List = + contributorRepository + .findAllByType(type) + .stream() + .map { e -> e.toContributorResponse(locale) } + .toList() @Transactional - override fun createContributor(request: ContributorRequest): ContributorResponse = - contributorRepository.save(request.toEntity()).toContributorResponse() + override fun createContributor(contributorRequest: ContributorRequest): ContributorResponse = + contributorRepository.save(contributorRequest.toEntity()).toContributorResponse() @Transactional override fun updateContributor( diff --git a/src/main/kotlin/com/epam/brn/service/ExerciseGroupsService.kt b/src/main/kotlin/com/epam/brn/service/ExerciseGroupsService.kt index 17dc6a06c..5c0983fba 100644 --- a/src/main/kotlin/com/epam/brn/service/ExerciseGroupsService.kt +++ b/src/main/kotlin/com/epam/brn/service/ExerciseGroupsService.kt @@ -26,12 +26,13 @@ class ExerciseGroupsService( } @Cacheable("groupsByLocale") - fun findByLocale(locale: String): List = if (locale.isEmpty()) - exerciseGroupRepository.findAll().map { group -> group.toDtoWithoutSeries() } - else - exerciseGroupRepository - .findByLocale(locale) - .map { group -> group.toDtoWithoutSeries() } + fun findByLocale(locale: String): List = + if (locale.isEmpty()) + exerciseGroupRepository.findAll().map { group -> group.toDtoWithoutSeries() } + else + exerciseGroupRepository + .findByLocale(locale) + .map { group -> group.toDtoWithoutSeries() } fun findGroupByCode(groupCode: String): ExerciseGroup { log.debug("Searching group with code=$groupCode") diff --git a/src/main/kotlin/com/epam/brn/service/ExerciseService.kt b/src/main/kotlin/com/epam/brn/service/ExerciseService.kt index fd9c314f1..d40c6d87c 100644 --- a/src/main/kotlin/com/epam/brn/service/ExerciseService.kt +++ b/src/main/kotlin/com/epam/brn/service/ExerciseService.kt @@ -46,9 +46,10 @@ class ExerciseService( fun findExerciseByNameAndLevel( name: String, level: Int, - ): Exercise = exerciseRepository - .findExerciseByNameAndLevel(name, level) - .orElseThrow { EntityNotFoundException("Exercise was not found by name=$name and level=$level") } + ): Exercise = + exerciseRepository + .findExerciseByNameAndLevel(name, level) + .orElseThrow { EntityNotFoundException("Exercise was not found by name=$name and level=$level") } fun findExercisesByUserId(userId: Long): List { log.info("Searching available exercises for user=$userId") @@ -158,13 +159,15 @@ class ExerciseService( exerciseRepository.save(exercise) } - fun findExercisesWithTasksBySubGroup(subGroupId: Long): List = exerciseRepository - .findExercisesBySubGroupId(subGroupId) - .map { updateExerciseDto(it.toDto()) } + fun findExercisesWithTasksBySubGroup(subGroupId: Long): List = + exerciseRepository + .findExercisesBySubGroupId(subGroupId) + .map { updateExerciseDto(it.toDto()) } - fun findExercisesByWord(word: String): List = exerciseRepository - .findExercisesByWord(word) - .map { it.toDtoWithWords() } + fun findExercisesByWord(word: String): List = + exerciseRepository + .findExercisesByWord(word) + .map { it.toDtoWithWords() } @Transactional(rollbackFor = [Exception::class]) fun createExercise(exerciseCreateDto: ExerciseCreateDto): ExerciseDto { @@ -198,11 +201,12 @@ class ExerciseService( private fun createExercise( exerciseRecord: Any, locale: BrnLocale, - ): Exercise? = recordProcessors - .stream() - .filter { it.isApplicable(exerciseRecord) } - .findFirst() - .orElseThrow { RuntimeException("There is no applicable processor for type '${exerciseRecord.javaClass}'") } - .process(listOf(exerciseRecord) as List, locale) - .firstOrNull() as Exercise? + ): Exercise? = + recordProcessors + .stream() + .filter { it.isApplicable(exerciseRecord) } + .findFirst() + .orElseThrow { RuntimeException("There is no applicable processor for type '${exerciseRecord.javaClass}'") } + .process(listOf(exerciseRecord) as List, locale) + .firstOrNull() as Exercise? } diff --git a/src/main/kotlin/com/epam/brn/service/ResourceService.kt b/src/main/kotlin/com/epam/brn/service/ResourceService.kt index bd9f5a14c..860e1401c 100644 --- a/src/main/kotlin/com/epam/brn/service/ResourceService.kt +++ b/src/main/kotlin/com/epam/brn/service/ResourceService.kt @@ -22,20 +22,22 @@ class ResourceService( fun save(resource: Resource): Resource = resourceRepository.save(resource) - fun findAll(): List = resourceRepository - .findAll() - .iterator() - .asSequence() - .toList() + fun findAll(): List = + resourceRepository + .findAll() + .iterator() + .asSequence() + .toList() fun updateDescription( id: Long, description: String, - ): ResourceResponse = resourceRepository.findByIdOrNull(id)?.let { - it.description = description - resourceRepository.save(it) - it.toResponse() - } ?: throw EntityNotFoundException("Resource not found by id=$id") + ): ResourceResponse = + resourceRepository.findByIdOrNull(id)?.let { + it.description = description + resourceRepository.save(it) + it.toResponse() + } ?: throw EntityNotFoundException("Resource not found by id=$id") fun saveAll(resources: List): List = resourceRepository.saveAll(resources).toList() } diff --git a/src/main/kotlin/com/epam/brn/service/StudyHistoryService.kt b/src/main/kotlin/com/epam/brn/service/StudyHistoryService.kt index 20bc3ec32..3adb8fb3e 100644 --- a/src/main/kotlin/com/epam/brn/service/StudyHistoryService.kt +++ b/src/main/kotlin/com/epam/brn/service/StudyHistoryService.kt @@ -52,9 +52,10 @@ class StudyHistoryService( userId: Long, from: LocalDateTime, to: LocalDateTime, - ): List = studyHistoryRepository - .getHistories(userId, from, to) - .map { it.toDto() } + ): List = + studyHistoryRepository + .getHistories(userId, from, to) + .map { it.toDto() } fun getUserDailyStatistics( day: LocalDateTime, @@ -85,9 +86,10 @@ class StudyHistoryService( userId: Long, month: Int, year: Int, - ): List = studyHistoryRepository - .getMonthHistories(userId, month, year) - .map { it.toDto() } + ): List = + studyHistoryRepository + .getMonthHistories(userId, month, year) + .map { it.toDto() } fun isUserHasStatistics(userId: Long): Boolean = studyHistoryRepository.isUserHasStatistics(userId) diff --git a/src/main/kotlin/com/epam/brn/service/SubGroupService.kt b/src/main/kotlin/com/epam/brn/service/SubGroupService.kt index 230e15f31..daf45817e 100644 --- a/src/main/kotlin/com/epam/brn/service/SubGroupService.kt +++ b/src/main/kotlin/com/epam/brn/service/SubGroupService.kt @@ -24,10 +24,11 @@ class SubGroupService( private val log = logger() @Cacheable("subgroupsBySeriesId") - fun findSubGroupsForSeries(seriesId: Long): List = subGroupRepository - .findBySeriesId(seriesId) - .map { subGroup -> toSubGroupResponse(subGroup) } - .sortedWith(compareBy({ it.level }, { it.withPictures })) + fun findSubGroupsForSeries(seriesId: Long): List = + subGroupRepository + .findBySeriesId(seriesId) + .map { subGroup -> toSubGroupResponse(subGroup) } + .sortedWith(compareBy({ it.level }, { it.withPictures })) @Cacheable("subgroupsBySubGroupId") fun findById(subGroupId: Long): SubGroupResponse { diff --git a/src/main/kotlin/com/epam/brn/service/TaskService.kt b/src/main/kotlin/com/epam/brn/service/TaskService.kt index ae99b703a..8aa34921a 100644 --- a/src/main/kotlin/com/epam/brn/service/TaskService.kt +++ b/src/main/kotlin/com/epam/brn/service/TaskService.kt @@ -111,14 +111,15 @@ private val vowelSet = setOf('а', 'е', 'ё', 'и', 'о', 'у', 'э', 'ы', 'ю fun String.findSyllableCount(): Int = count { it in vowelSet } -fun Task.toDetailWordsTaskDto(exerciseType: ExerciseType) = TaskResponse( - id = id!!, - exerciseType = exerciseType, - exerciseMechanism = exerciseType.toMechanism(), - name = name, - serialNumber = serialNumber, - answerOptions = answerOptions.toResourceDtoSet(), -) +fun Task.toDetailWordsTaskDto(exerciseType: ExerciseType) = + TaskResponse( + id = id!!, + exerciseType = exerciseType, + exerciseMechanism = exerciseType.toMechanism(), + name = name, + serialNumber = serialNumber, + answerOptions = answerOptions.toResourceDtoSet(), + ) fun MutableSet.toResourceDtoSet(): HashSet { val mapVowelCountToWord: Map> = diff --git a/src/main/kotlin/com/epam/brn/service/TokenHelperUtils.kt b/src/main/kotlin/com/epam/brn/service/TokenHelperUtils.kt index c377e4278..59231e2ce 100644 --- a/src/main/kotlin/com/epam/brn/service/TokenHelperUtils.kt +++ b/src/main/kotlin/com/epam/brn/service/TokenHelperUtils.kt @@ -2,7 +2,7 @@ package com.epam.brn.service import org.springframework.stereotype.Component import org.springframework.util.StringUtils -import javax.servlet.http.HttpServletRequest +import jakarta.servlet.http.HttpServletRequest @Component class TokenHelperUtils { diff --git a/src/main/kotlin/com/epam/brn/service/UrlConversionService.kt b/src/main/kotlin/com/epam/brn/service/UrlConversionService.kt index a365083d4..ee3ca4539 100644 --- a/src/main/kotlin/com/epam/brn/service/UrlConversionService.kt +++ b/src/main/kotlin/com/epam/brn/service/UrlConversionService.kt @@ -11,10 +11,11 @@ class UrlConversionService( @Value("\${aws.folderForThemePictures}") private lateinit var folderForThemePictures: String - fun makeUrlForNoise(noiseUrl: String?): String = if (noiseUrl.isNullOrEmpty()) - "" - else - cloudService.baseFileUrl() + noiseUrl + fun makeUrlForNoise(noiseUrl: String?): String = + if (noiseUrl.isNullOrEmpty()) + "" + else + cloudService.baseFileUrl() + noiseUrl fun makeUrlForSubGroupPicture(subGroupCode: String): String = cloudService.baseFileUrl() + folderForThemePictures + "/" + subGroupCode + ".svg" diff --git a/src/main/kotlin/com/epam/brn/service/azure/tts/AzureTextToSpeechService.kt b/src/main/kotlin/com/epam/brn/service/azure/tts/AzureTextToSpeechService.kt index 0d89b13c8..2f5a386f9 100644 --- a/src/main/kotlin/com/epam/brn/service/azure/tts/AzureTextToSpeechService.kt +++ b/src/main/kotlin/com/epam/brn/service/azure/tts/AzureTextToSpeechService.kt @@ -62,16 +62,17 @@ class AzureTextToSpeechService( * Receives all available voices for Azure TTS service */ @ExcludeFromJacocoGeneratedReport - fun getVoices(): List = azureAllVoicesWebClient - .get() - .headers { headers -> - headers.set("Ocp-Apim-Subscription-Key", azureTtsProperties.ocpApimSubscriptionKey) - }.retrieve() - .bodyToFlux(AzureJsonVoiceInfo::class.java) - .collectList() - .doOnError { e -> log.error("Error while getting Azure voices, \nerror: {}", e) } - .block(Duration.ofSeconds(15)) - ?: throw AzureTtsException("Azure TTS does not provide voices") + fun getVoices(): List = + azureAllVoicesWebClient + .get() + .headers { headers -> + headers.set("Ocp-Apim-Subscription-Key", azureTtsProperties.ocpApimSubscriptionKey) + }.retrieve() + .bodyToFlux(AzureJsonVoiceInfo::class.java) + .collectList() + .doOnError { e -> log.error("Error while getting Azure voices, \nerror: {}", e) } + .block(Duration.ofSeconds(15)) + ?: throw AzureTtsException("Azure TTS does not provide voices") @ExcludeFromJacocoGeneratedReport fun generateAudioOggFile(audioFileMetaData: AudioFileMetaData): File { @@ -146,14 +147,15 @@ class AzureTextToSpeechService( * 2. by locale + gender from DB (gender is optional, by default it's azure.tts.default-gender) * 3. from properties */ - fun getVoiceInfo(params: AudioFileMetaData): AzureVoiceInfo = defaultIfBlank(params.voice, null) - ?.let { azureVoiceRepo.findByShortName(it) } - ?: getVoiceInfoByLocalAndGender(params.locale, params.gender) - ?: AzureVoiceInfo( - shortName = azureTtsProperties.defaultVoiceName, - gender = azureTtsProperties.defaultGender, - locale = azureTtsProperties.defaultLang, - ) + fun getVoiceInfo(params: AudioFileMetaData): AzureVoiceInfo = + defaultIfBlank(params.voice, null) + ?.let { azureVoiceRepo.findByShortName(it) } + ?: getVoiceInfoByLocalAndGender(params.locale, params.gender) + ?: AzureVoiceInfo( + shortName = azureTtsProperties.defaultVoiceName, + gender = azureTtsProperties.defaultGender, + locale = azureTtsProperties.defaultLang, + ) private fun getVoiceInfoByLocalAndGender( locale: String, diff --git a/src/main/kotlin/com/epam/brn/service/azure/tts/config/AzureTtsWebClientConfig.kt b/src/main/kotlin/com/epam/brn/service/azure/tts/config/AzureTtsWebClientConfig.kt index 8a29bb864..58526430d 100644 --- a/src/main/kotlin/com/epam/brn/service/azure/tts/config/AzureTtsWebClientConfig.kt +++ b/src/main/kotlin/com/epam/brn/service/azure/tts/config/AzureTtsWebClientConfig.kt @@ -19,28 +19,31 @@ class AzureTtsWebClientConfig( private val azureTtsProperties: AzureTtsProperties, ) { @Bean("azureTtsWebClient") - fun azureTtsWebClient() = WebClient - .builder() - .baseUrl(azureTtsProperties.baseUrl) - .clientConnector(reactorClientHttpConnector()) - .exchangeStrategies( - ExchangeStrategies - .builder() - .codecs { configurer -> configurer.defaultCodecs().maxInMemorySize(2 * 1024 * 1024) } - .build(), - ).build() + fun azureTtsWebClient() = + WebClient + .builder() + .baseUrl(azureTtsProperties.baseUrl) + .clientConnector(reactorClientHttpConnector()) + .exchangeStrategies( + ExchangeStrategies + .builder() + .codecs { configurer -> configurer.defaultCodecs().maxInMemorySize(2 * 1024 * 1024) } + .build(), + ).build() @Bean("azureAllVoicesWebClient") - fun azureAllVoicesWebClient() = WebClient - .builder() - .baseUrl(azureTtsProperties.allVoicesUrl) - .clientConnector(reactorClientHttpConnector()) - .build() + fun azureAllVoicesWebClient() = + WebClient + .builder() + .baseUrl(azureTtsProperties.allVoicesUrl) + .clientConnector(reactorClientHttpConnector()) + .build() - private fun reactorClientHttpConnector() = ReactorClientHttpConnector( - HttpClient - .create() - .responseTimeout(Duration.ofSeconds(10)) - .wiretap("reactor.netty.client.HttpClient", DEBUG, TEXTUAL), - ) + private fun reactorClientHttpConnector() = + ReactorClientHttpConnector( + HttpClient + .create() + .responseTimeout(Duration.ofSeconds(10)) + .wiretap("reactor.netty.client.HttpClient", DEBUG, TEXTUAL), + ) } diff --git a/src/main/kotlin/com/epam/brn/service/impl/HeadphonesServiceImpl.kt b/src/main/kotlin/com/epam/brn/service/impl/HeadphonesServiceImpl.kt index 28b89da6c..526e44186 100644 --- a/src/main/kotlin/com/epam/brn/service/impl/HeadphonesServiceImpl.kt +++ b/src/main/kotlin/com/epam/brn/service/impl/HeadphonesServiceImpl.kt @@ -12,9 +12,10 @@ class HeadphonesServiceImpl( ) : HeadphonesService { override fun save(headphones: Headphones): HeadphonesDto = headphonesRepository.save(headphones).toDto() - override fun getAllHeadphonesForUser(userId: Long): Set = headphonesRepository - .getHeadphonesForUser(userId) - .map { - it.toDto() - }.toSet() + override fun getAllHeadphonesForUser(userId: Long): Set = + headphonesRepository + .getHeadphonesForUser(userId) + .map { + it.toDto() + }.toSet() } diff --git a/src/main/kotlin/com/epam/brn/service/impl/RoleServiceImpl.kt b/src/main/kotlin/com/epam/brn/service/impl/RoleServiceImpl.kt index 044bdf56e..f25e6b763 100644 --- a/src/main/kotlin/com/epam/brn/service/impl/RoleServiceImpl.kt +++ b/src/main/kotlin/com/epam/brn/service/impl/RoleServiceImpl.kt @@ -14,13 +14,15 @@ import org.springframework.web.context.request.ServletRequestAttributes class RoleServiceImpl( private val roleRepository: RoleRepository, ) : RoleService { - override fun findById(id: Long): Role = roleRepository - .findById(id) - .orElseThrow { EntityNotFoundException("Role with id = $id is not found") } + override fun findById(id: Long): Role = + roleRepository + .findById(id) + .orElseThrow { EntityNotFoundException("Role with id = $id is not found") } - override fun findByName(name: String): Role = roleRepository - .findByName(name) - ?: throw EntityNotFoundException("Role with name = $name is not found") + override fun findByName(name: String): Role = + roleRepository + .findByName(name) + ?: throw EntityNotFoundException("Role with name = $name is not found") override fun save(role: Role) = roleRepository.save(role) diff --git a/src/main/kotlin/com/epam/brn/service/impl/UserAccountServiceImpl.kt b/src/main/kotlin/com/epam/brn/service/impl/UserAccountServiceImpl.kt index df1c3c2ae..4f5dd2113 100644 --- a/src/main/kotlin/com/epam/brn/service/impl/UserAccountServiceImpl.kt +++ b/src/main/kotlin/com/epam/brn/service/impl/UserAccountServiceImpl.kt @@ -32,10 +32,11 @@ class UserAccountServiceImpl( @Value("\${autotest.users.deletion.prefix}") private lateinit var prefix: String - override fun findUserByEmail(email: String): UserAccountDto = userAccountRepository - .findUserAccountByEmail(email) - .map { it.toDto() } - .orElseThrow { EntityNotFoundException("No user was found for email=$email") } + override fun findUserByEmail(email: String): UserAccountDto = + userAccountRepository + .findUserAccountByEmail(email) + .map { it.toDto() } + .orElseThrow { EntityNotFoundException("No user was found for email=$email") } override fun findUserDtoByUuid(uuid: String): UserAccountDto? = userAccountRepository.findByUserId(uuid)?.toDto() @@ -56,17 +57,19 @@ class UserAccountServiceImpl( override fun findUserDtoById(id: Long): UserAccountDto = findUserById(id).toDto() - override fun findUserById(id: Long): UserAccount = userAccountRepository - .findUserAccountById(id) - .orElseThrow { EntityNotFoundException("No user was found for id = $id") } + override fun findUserById(id: Long): UserAccount = + userAccountRepository + .findUserAccountById(id) + .orElseThrow { EntityNotFoundException("No user was found for id = $id") } override fun getAllHeadphonesForUser(userId: Long) = headphonesService.getAllHeadphonesForUser(userId) - override fun getAllHeadphonesForCurrentUser() = getCurrentUser() - .headphones - .filter { it.active } - .map(Headphones::toDto) - .toSet() + override fun getAllHeadphonesForCurrentUser() = + getCurrentUser() + .headphones + .filter { it.active } + .map(Headphones::toDto) + .toSet() override fun getCurrentUser(): UserAccount { val email = getCurrentUserEmail() @@ -90,9 +93,10 @@ class UserAccountServiceImpl( override fun getUsers( pageable: Pageable, role: String, - ): List = userAccountRepository - .findUsersAccountsByRole(role) - .map { it.toDto() } + ): List = + userAccountRepository + .findUsersAccountsByRole(role) + .map { it.toDto() } override fun updateAvatarForCurrentUser(avatarUrl: String): UserAccountDto { val currentUserAccount = getCurrentUser() @@ -125,13 +129,14 @@ class UserAccountServiceImpl( headphonesService.save(headphones) } - override fun updateCurrentUser(userChangeRequest: UserAccountChangeRequest): UserAccountDto = getCurrentUser() - .let { - if (userChangeRequest.isNotEmpty()) - userAccountRepository.save(it.updateFields(changeRequest = userChangeRequest)) - else - it - }.toDto() + override fun updateCurrentUser(userChangeRequest: UserAccountChangeRequest): UserAccountDto = + getCurrentUser() + .let { + if (userChangeRequest.isNotEmpty()) + userAccountRepository.save(it.updateFields(changeRequest = userChangeRequest)) + else + it + }.toDto() override fun updateDoctorForPatient( userId: Long, @@ -144,12 +149,13 @@ class UserAccountServiceImpl( override fun getPatientsForDoctor(doctorId: Long): List = userAccountRepository.findUserAccountsByDoctor(findUserById(doctorId)).map { it.toDto() } - private fun UserAccountChangeRequest.isNotEmpty(): Boolean = (!this.name.isNullOrBlank()) - .or(this.avatar != null) - .or(this.bornYear != null) - .or(this.gender != null) - .or(this.description != null) - .or(this.photo != null) + private fun UserAccountChangeRequest.isNotEmpty(): Boolean = + (!this.name.isNullOrBlank()) + .or(this.avatar != null) + .or(this.bornYear != null) + .or(this.gender != null) + .or(this.description != null) + .or(this.photo != null) private fun UserAccount.updateFields(changeRequest: UserAccountChangeRequest): UserAccount { this.fullName = changeRequest.name?.takeIf { it.isNotBlank() } ?: fullName @@ -178,8 +184,9 @@ class UserAccountServiceImpl( private fun getDefaultRoleSet(): MutableSet = setOf(BrnRole.USER).mapTo(mutableSetOf()) { roleService.findByName(it) } override fun deleteAutoTestUsers(): Long = userAccountRepository.deleteUserAccountsByEmailStartsWith(prefix) - override fun deleteAutoTestUserByEmail(email: String): Long = if (email.startsWith(prefix)) - userAccountRepository.deleteUserAccountByEmailIs(email) - else - throw IllegalArgumentException("email = [$email] must start with prefix = [$prefix]") + override fun deleteAutoTestUserByEmail(email: String): Long = + if (email.startsWith(prefix)) + userAccountRepository.deleteUserAccountByEmailIs(email) + else + throw IllegalArgumentException("email = [$email] must start with prefix = [$prefix]") } diff --git a/src/main/kotlin/com/epam/brn/service/impl/UserAnalyticsServiceImpl.kt b/src/main/kotlin/com/epam/brn/service/impl/UserAnalyticsServiceImpl.kt index 441f60337..720631236 100644 --- a/src/main/kotlin/com/epam/brn/service/impl/UserAnalyticsServiceImpl.kt +++ b/src/main/kotlin/com/epam/brn/service/impl/UserAnalyticsServiceImpl.kt @@ -75,9 +75,10 @@ class UserAnalyticsServiceImpl( override fun prepareAudioStreamForUser( exerciseId: Long, audioFileMetaData: AudioFileMetaData, - ): InputStream = textToSpeechService.generateAudioOggStreamWithValidation( - prepareAudioFileMetaData(exerciseId, audioFileMetaData), - ) + ): InputStream = + textToSpeechService.generateAudioOggStreamWithValidation( + prepareAudioFileMetaData(exerciseId, audioFileMetaData), + ) override fun prepareAudioFileMetaData( exerciseId: Long, @@ -127,8 +128,9 @@ class UserAnalyticsServiceImpl( fun isMultiWords(seriesType: ExerciseType): Boolean = seriesType == ExerciseType.PHRASES || seriesType == ExerciseType.SENTENCE || seriesType == ExerciseType.WORDS_SEQUENCES - fun countWorkDaysForMonth(dayStudyStatistics: List): Int = dayStudyStatistics - .map { it.date } - .groupBy { it.dayOfMonth } - .keys.size + fun countWorkDaysForMonth(dayStudyStatistics: List): Int = + dayStudyStatistics + .map { it.date } + .groupBy { it.dayOfMonth } + .keys.size } diff --git a/src/main/kotlin/com/epam/brn/service/load/FirebaseUserDataLoader.kt b/src/main/kotlin/com/epam/brn/service/load/FirebaseUserDataLoader.kt index c208d514d..f426ccc83 100644 --- a/src/main/kotlin/com/epam/brn/service/load/FirebaseUserDataLoader.kt +++ b/src/main/kotlin/com/epam/brn/service/load/FirebaseUserDataLoader.kt @@ -114,9 +114,10 @@ class FirebaseUserDataLoader( } } - private fun createEmailIdentified(it: UserAccount): EmailIdentifier? = try { - EmailIdentifier(it.email) - } catch (e: Exception) { - null - } + private fun createEmailIdentified(it: UserAccount): EmailIdentifier? = + try { + EmailIdentifier(it.email) + } catch (e: Exception) { + null + } } diff --git a/src/main/kotlin/com/epam/brn/service/statistics/progress/status/impl/StudyHistoriesProgressStatusManager.kt b/src/main/kotlin/com/epam/brn/service/statistics/progress/status/impl/StudyHistoriesProgressStatusManager.kt index 09ec0fde5..256201fb0 100644 --- a/src/main/kotlin/com/epam/brn/service/statistics/progress/status/impl/StudyHistoriesProgressStatusManager.kt +++ b/src/main/kotlin/com/epam/brn/service/statistics/progress/status/impl/StudyHistoriesProgressStatusManager.kt @@ -14,8 +14,9 @@ class StudyHistoriesProgressStatusManager( override fun getStatus( periodType: UserExercisingPeriod, progress: List, - ): UserExercisingProgressStatus? = retrievers - .filter { it.getSupportedPeriods().contains(periodType) } - .mapNotNull { it.getStatus(progress) } - .minByOrNull { it.ordinal } + ): UserExercisingProgressStatus? = + retrievers + .filter { it.getSupportedPeriods().contains(periodType) } + .mapNotNull { it.getStatus(progress) } + .minByOrNull { it.ordinal } } diff --git a/src/main/kotlin/com/epam/brn/service/statistics/progress/status/requirements/impl/StatusRequirementsManagerImpl.kt b/src/main/kotlin/com/epam/brn/service/statistics/progress/status/requirements/impl/StatusRequirementsManagerImpl.kt index f5e12b671..730a3ba49 100644 --- a/src/main/kotlin/com/epam/brn/service/statistics/progress/status/requirements/impl/StatusRequirementsManagerImpl.kt +++ b/src/main/kotlin/com/epam/brn/service/statistics/progress/status/requirements/impl/StatusRequirementsManagerImpl.kt @@ -15,7 +15,8 @@ import org.springframework.stereotype.Service class StatusRequirementsManagerImpl( private val statusRequirementsRetriever: StatusRequirementsRetriever, ) : StatusRequirementsManager { - override fun getPeriodRequirements(period: UserExercisingPeriod): List = UserExercisingProgressStatus.values().map { - statusRequirementsRetriever.getRequirementsForStatus(it, period) - } + override fun getPeriodRequirements(period: UserExercisingPeriod): List = + UserExercisingProgressStatus.values().map { + statusRequirementsRetriever.getRequirementsForStatus(it, period) + } } diff --git a/src/main/kotlin/com/epam/brn/upload/csv/CsvParser.kt b/src/main/kotlin/com/epam/brn/upload/csv/CsvParser.kt index 4f41028e7..7bbde2e39 100644 --- a/src/main/kotlin/com/epam/brn/upload/csv/CsvParser.kt +++ b/src/main/kotlin/com/epam/brn/upload/csv/CsvParser.kt @@ -62,11 +62,12 @@ class CsvParser( return originalLines } - private fun getProvider(header: String): MappingIteratorProvider = iteratorProviders - .stream() - .filter { it.isApplicable(header) } - .findFirst() - .orElseThrow { ParseException("There is no applicable iterator provider for format '$header'.") } + private fun getProvider(header: String): MappingIteratorProvider = + iteratorProviders + .stream() + .filter { it.isApplicable(header) } + .findFirst() + .orElseThrow { ParseException("There is no applicable iterator provider for format '$header'.") } class ParseException( message: String = "Parsing error. Please check csv file content format.", diff --git a/src/main/kotlin/com/epam/brn/upload/csv/seriesMatrix/SeriesMatrixRecordProcessor.kt b/src/main/kotlin/com/epam/brn/upload/csv/seriesMatrix/SeriesMatrixRecordProcessor.kt index 418d91573..87a5aa306 100644 --- a/src/main/kotlin/com/epam/brn/upload/csv/seriesMatrix/SeriesMatrixRecordProcessor.kt +++ b/src/main/kotlin/com/epam/brn/upload/csv/seriesMatrix/SeriesMatrixRecordProcessor.kt @@ -16,7 +16,7 @@ import com.epam.brn.upload.csv.RecordProcessor import com.epam.brn.upload.toStringWithoutBraces import org.apache.commons.lang3.StringUtils import org.springframework.stereotype.Component -import javax.transaction.Transactional +import jakarta.transaction.Transactional @Component class SeriesMatrixRecordProcessor( @@ -56,20 +56,22 @@ class SeriesMatrixRecordProcessor( private fun extractAnswerOptions( record: SeriesMatrixRecord, locale: BrnLocale, - ): MutableSet = extractWordGroups(record) - .map { - splitOnWords(it.second).map { word: String -> - toResource(word, it.first, locale) - } - }.flatten() - .toMutableSet() + ): MutableSet = + extractWordGroups(record) + .map { + splitOnWords(it.second).map { word: String -> + toResource(word, it.first, locale) + } + }.flatten() + .toMutableSet() - private fun extractWordGroups(record: SeriesMatrixRecord): Sequence> = record.words - .asSequence() - .map { it.toStringWithoutBraces() } - .mapIndexed { wordGroupPosition, wordGroup -> - WordType.of(wordGroupPosition) to wordGroup - }.filter { StringUtils.isNotBlank(it.second) } + private fun extractWordGroups(record: SeriesMatrixRecord): Sequence> = + record.words + .asSequence() + .map { it.toStringWithoutBraces() } + .mapIndexed { wordGroupPosition, wordGroup -> + WordType.of(wordGroupPosition) to wordGroup + }.filter { StringUtils.isNotBlank(it.second) } private fun splitOnWords(sentence: String): List = sentence.split(' ').map { it.trim() } @@ -96,15 +98,17 @@ class SeriesMatrixRecordProcessor( level = record.level, ) - private fun calculateTemplate(record: SeriesMatrixRecord): String = extractWordGroups(record) - .joinToString(StringUtils.SPACE, "<", ">") { it.first.toString() } + private fun calculateTemplate(record: SeriesMatrixRecord): String = + extractWordGroups(record) + .joinToString(StringUtils.SPACE, "<", ">") { it.first.toString() } private fun extractTask( exercise: Exercise, answerOptions: MutableSet, - ): Task = Task( - serialNumber = 2, - answerOptions = answerOptions, - exercise = exercise, - ) + ): Task = + Task( + serialNumber = 2, + answerOptions = answerOptions, + exercise = exercise, + ) } diff --git a/src/main/kotlin/com/epam/brn/upload/csv/seriesSyllablesKoroleva/SeriesSyllablesKorolevaRecordProcessor.kt b/src/main/kotlin/com/epam/brn/upload/csv/seriesSyllablesKoroleva/SeriesSyllablesKorolevaRecordProcessor.kt index 795943def..dcd88cafa 100644 --- a/src/main/kotlin/com/epam/brn/upload/csv/seriesSyllablesKoroleva/SeriesSyllablesKorolevaRecordProcessor.kt +++ b/src/main/kotlin/com/epam/brn/upload/csv/seriesSyllablesKoroleva/SeriesSyllablesKorolevaRecordProcessor.kt @@ -50,11 +50,12 @@ class SeriesSyllablesKorolevaRecordProcessor( private fun extractAnswerOptions( record: SeriesSyllablesKorolevaRecord, locale: BrnLocale, - ): MutableSet = record.words - .asSequence() - .map { it.toStringWithoutBraces() } - .map { toResource(it, locale) } - .toMutableSet() + ): MutableSet = + record.words + .asSequence() + .map { it.toStringWithoutBraces() } + .map { toResource(it, locale) } + .toMutableSet() private fun toResource( word: String, diff --git a/src/main/kotlin/com/epam/brn/upload/csv/seriesWords/SeriesWordsRecordProcessor.kt b/src/main/kotlin/com/epam/brn/upload/csv/seriesWords/SeriesWordsRecordProcessor.kt index 50b3456f0..6fa1d3332 100644 --- a/src/main/kotlin/com/epam/brn/upload/csv/seriesWords/SeriesWordsRecordProcessor.kt +++ b/src/main/kotlin/com/epam/brn/upload/csv/seriesWords/SeriesWordsRecordProcessor.kt @@ -62,11 +62,12 @@ class SeriesWordsRecordProcessor( private fun extractAnswerOptions( record: SeriesWordsRecord, locale: BrnLocale, - ): MutableSet = record.words - .asSequence() - .map { it.toStringWithoutBraces() } - .map { toResource(it, locale) } - .toMutableSet() + ): MutableSet = + record.words + .asSequence() + .map { it.toStringWithoutBraces() } + .map { toResource(it, locale) } + .toMutableSet() private fun toResource( word: String, diff --git a/src/main/kotlin/com/epam/brn/upload/csv/seriesWordsKoroleva/SeriesWordsKorolevaRecordProcessor.kt b/src/main/kotlin/com/epam/brn/upload/csv/seriesWordsKoroleva/SeriesWordsKorolevaRecordProcessor.kt index d2dc95a3f..d05758cc4 100644 --- a/src/main/kotlin/com/epam/brn/upload/csv/seriesWordsKoroleva/SeriesWordsKorolevaRecordProcessor.kt +++ b/src/main/kotlin/com/epam/brn/upload/csv/seriesWordsKoroleva/SeriesWordsKorolevaRecordProcessor.kt @@ -52,11 +52,12 @@ class SeriesWordsKorolevaRecordProcessor( private fun extractAnswerOptions( record: SeriesWordsKorolevaRecord, locale: BrnLocale, - ): MutableSet = record.words - .asSequence() - .map { it.toStringWithoutBraces() } - .map { toResource(it, locale) } - .toMutableSet() + ): MutableSet = + record.words + .asSequence() + .map { it.toStringWithoutBraces() } + .map { toResource(it, locale) } + .toMutableSet() private fun toResource( word: String, diff --git a/src/main/kotlin/com/epam/brn/upload/csv/subgroup/SubgroupGenericRecordProcessor.kt b/src/main/kotlin/com/epam/brn/upload/csv/subgroup/SubgroupGenericRecordProcessor.kt index d730fc531..09def5da5 100644 --- a/src/main/kotlin/com/epam/brn/upload/csv/subgroup/SubgroupGenericRecordProcessor.kt +++ b/src/main/kotlin/com/epam/brn/upload/csv/subgroup/SubgroupGenericRecordProcessor.kt @@ -7,7 +7,7 @@ import com.epam.brn.repo.SubGroupRepository import com.epam.brn.upload.csv.RecordProcessor import org.springframework.stereotype.Component import org.springframework.transaction.annotation.Transactional -import javax.persistence.EntityNotFoundException +import jakarta.persistence.EntityNotFoundException @Component class SubgroupGenericRecordProcessor( diff --git a/src/main/kotlin/com/epam/brn/validator/PunctuationValidator.kt b/src/main/kotlin/com/epam/brn/validator/PunctuationValidator.kt index 79ce1ae72..27a4feee6 100644 --- a/src/main/kotlin/com/epam/brn/validator/PunctuationValidator.kt +++ b/src/main/kotlin/com/epam/brn/validator/PunctuationValidator.kt @@ -1,7 +1,7 @@ package com.epam.brn.validator -import javax.validation.ConstraintValidator -import javax.validation.ConstraintValidatorContext +import jakarta.validation.ConstraintValidator +import jakarta.validation.ConstraintValidatorContext import kotlin.text.Regex class PunctuationValidator : ConstraintValidator { diff --git a/src/main/kotlin/com/epam/brn/validator/WithoutPunctuation.kt b/src/main/kotlin/com/epam/brn/validator/WithoutPunctuation.kt index adae3a9d4..091e4bc45 100644 --- a/src/main/kotlin/com/epam/brn/validator/WithoutPunctuation.kt +++ b/src/main/kotlin/com/epam/brn/validator/WithoutPunctuation.kt @@ -1,6 +1,6 @@ package com.epam.brn.validator -import javax.validation.Constraint +import jakarta.validation.Constraint import kotlin.annotation.AnnotationTarget.FIELD import kotlin.reflect.KClass diff --git a/src/main/kotlin/com/epam/brn/webclient/GitHubApiClient.kt b/src/main/kotlin/com/epam/brn/webclient/GitHubApiClient.kt index 6cbf55662..d28b3c817 100644 --- a/src/main/kotlin/com/epam/brn/webclient/GitHubApiClient.kt +++ b/src/main/kotlin/com/epam/brn/webclient/GitHubApiClient.kt @@ -6,7 +6,7 @@ import com.epam.brn.webclient.property.GitHubApiClientProperty import org.springframework.beans.factory.annotation.Autowired import org.springframework.core.ParameterizedTypeReference import org.springframework.http.HttpHeaders -import org.springframework.http.HttpStatus +import org.springframework.http.HttpStatusCode import org.springframework.stereotype.Component import org.springframework.web.reactive.function.client.WebClient import reactor.core.publisher.Mono @@ -61,19 +61,20 @@ class GitHubApiClient return gitHubContributorDtos } - fun getGitHubUser(username: String): GitHubUserDto? = gitHubApiWebClient - .get() - .uri(gitHubApiClientProperty.url.path.users, username) - .headers { - it.set(HttpHeaders.ACCEPT, "application/vnd.github+json") - if (gitHubApiClientProperty.token.isNotEmpty()) - it.set( - HttpHeaders.AUTHORIZATION, - "${gitHubApiClientProperty.typeToken} ${gitHubApiClientProperty.token}", - ) - }.retrieve() - .onStatus(HttpStatus::isError) { Mono.empty() } - .bodyToMono(GitHubUserDto::class.java) - .onErrorResume { Mono.empty() } - .block() + fun getGitHubUser(username: String): GitHubUserDto? = + gitHubApiWebClient + .get() + .uri(gitHubApiClientProperty.url.path.users, username) + .headers { + it.set(HttpHeaders.ACCEPT, "application/vnd.github+json") + if (gitHubApiClientProperty.token.isNotEmpty()) + it.set( + HttpHeaders.AUTHORIZATION, + "${gitHubApiClientProperty.typeToken} ${gitHubApiClientProperty.token}", + ) + }.retrieve() + .onStatus(HttpStatusCode::isError) { Mono.empty() } + .bodyToMono(GitHubUserDto::class.java) + .onErrorResume { Mono.empty() } + .block() } diff --git a/src/main/kotlin/com/epam/brn/webclient/customizer/WebClientLoggingCustomizer.kt b/src/main/kotlin/com/epam/brn/webclient/customizer/WebClientLoggingCustomizer.kt index 199a81d7b..d0cb6d984 100644 --- a/src/main/kotlin/com/epam/brn/webclient/customizer/WebClientLoggingCustomizer.kt +++ b/src/main/kotlin/com/epam/brn/webclient/customizer/WebClientLoggingCustomizer.kt @@ -33,19 +33,21 @@ class WebClientLoggingCustomizer : WebClientCustomizer { * @param request request * @return request */ - private fun interceptRequestBody(request: ClientRequest): ClientRequest = ClientRequest - .from(request) - .body { outputMessage, context -> - val newOutputMessage = - object : ClientHttpRequestDecorator(outputMessage) { - override fun writeWith(body: Publisher): Mono = super.writeWith( - Flux - .from(body) - .doOnNext { logRequestBody(it) }, - ) - } - request.body().insert(newOutputMessage, context) - }.build() + private fun interceptRequestBody(request: ClientRequest): ClientRequest = + ClientRequest + .from(request) + .body { outputMessage, context -> + val newOutputMessage = + object : ClientHttpRequestDecorator(outputMessage) { + override fun writeWith(body: Publisher): Mono = + super.writeWith( + Flux + .from(body) + .doOnNext { logRequestBody(it) }, + ) + } + request.body().insert(newOutputMessage, context) + }.build() /** * Catcher response body @@ -53,10 +55,11 @@ class WebClientLoggingCustomizer : WebClientCustomizer { * @param response response * @return response */ - private fun interceptResponseBody(response: ClientResponse): ClientResponse? = response - .mutate() - .body { data -> data.doOnNext { dataBuffer: DataBuffer -> logResponseBody(dataBuffer) } } - .build() + private fun interceptResponseBody(response: ClientResponse): ClientResponse? = + response + .mutate() + .body { data -> data.doOnNext { dataBuffer: DataBuffer -> logResponseBody(dataBuffer) } } + .build() /** * Log request @@ -82,7 +85,7 @@ class WebClientLoggingCustomizer : WebClientCustomizer { * @param response ответ */ private fun logResponse(response: ClientResponse) { - log.debug("Response: status=${response.rawStatusCode()}, headers=${response.headers().asHttpHeaders()}") + log.debug("Response: status=${response.statusCode().value()}, headers=${response.headers().asHttpHeaders()}") } /** diff --git a/src/main/kotlin/com/epam/brn/webclient/property/GitHubApiClientProperty.kt b/src/main/kotlin/com/epam/brn/webclient/property/GitHubApiClientProperty.kt index 4cb3fb4b4..ec4f3a466 100644 --- a/src/main/kotlin/com/epam/brn/webclient/property/GitHubApiClientProperty.kt +++ b/src/main/kotlin/com/epam/brn/webclient/property/GitHubApiClientProperty.kt @@ -1,9 +1,7 @@ package com.epam.brn.webclient.property import org.springframework.boot.context.properties.ConfigurationProperties -import org.springframework.boot.context.properties.ConstructorBinding -@ConstructorBinding @ConfigurationProperties(prefix = "github.api") data class GitHubApiClientProperty( val token: String, diff --git a/src/test/kotlin/com/epam/brn/auth/filter/FirebaseTokenAuthenticationFilterTest.kt b/src/test/kotlin/com/epam/brn/auth/filter/FirebaseTokenAuthenticationFilterTest.kt index db46446d9..872d57c23 100644 --- a/src/test/kotlin/com/epam/brn/auth/filter/FirebaseTokenAuthenticationFilterTest.kt +++ b/src/test/kotlin/com/epam/brn/auth/filter/FirebaseTokenAuthenticationFilterTest.kt @@ -31,7 +31,7 @@ import org.springframework.security.authentication.UsernamePasswordAuthenticatio import org.springframework.security.core.context.SecurityContextHolder import org.springframework.security.core.userdetails.UserDetailsService import org.springframework.security.core.userdetails.UsernameNotFoundException -import javax.servlet.FilterChain +import jakarta.servlet.FilterChain import kotlin.test.assertEquals import kotlin.test.assertNotNull import kotlin.test.assertNull @@ -77,7 +77,7 @@ internal class FirebaseTokenAuthenticationFilterTest { @Test fun `should set authentication when user exist in local DB`() { // GIVEN - val request = MockHttpServletRequest(HttpMethod.GET.name, "/test") + val request = MockHttpServletRequest(HttpMethod.GET.name(), "/test") val token = "firebaseTokenMock" request.addHeader("Authorization", "Bearer $token") val response = MockHttpServletResponse() @@ -114,7 +114,7 @@ internal class FirebaseTokenAuthenticationFilterTest { @Test fun `should set authentication when user not exist in local DB`() { // GIVEN - val requestMock = MockHttpServletRequest(HttpMethod.GET.name, "/test") + val requestMock = MockHttpServletRequest(HttpMethod.GET.name(), "/test") val tokenMock = "firebaseTokenMock" requestMock.addHeader("Authorization", "Bearer $tokenMock") val responseMock = MockHttpServletResponse() @@ -157,7 +157,7 @@ internal class FirebaseTokenAuthenticationFilterTest { @Test fun `should set authentication by NULL when token invalid`() { // GIVEN - val requestMock = MockHttpServletRequest(HttpMethod.GET.name, "/test") + val requestMock = MockHttpServletRequest(HttpMethod.GET.name(), "/test") val tokenMock = "firebaseTokenMock" requestMock.addHeader("Authorization", "Bearer $tokenMock") val responseMock = MockHttpServletResponse() @@ -188,7 +188,7 @@ internal class FirebaseTokenAuthenticationFilterTest { @Test fun `should set authentication by NULL when error occurred`() { // GIVEN - val requestMock = MockHttpServletRequest(HttpMethod.GET.name, "/test") + val requestMock = MockHttpServletRequest(HttpMethod.GET.name(), "/test") val tokenMock = "firebaseTokenMock" requestMock.addHeader("Authorization", "Bearer $tokenMock") val responseMock = MockHttpServletResponse() @@ -214,7 +214,7 @@ internal class FirebaseTokenAuthenticationFilterTest { @Test fun `should set authentication by NULL when user not exist in local DB and not returning from firebase DB`() { // GIVEN - val requestMock = MockHttpServletRequest(HttpMethod.GET.name, "/test") + val requestMock = MockHttpServletRequest(HttpMethod.GET.name(), "/test") val tokenMock = "firebaseTokenMock" requestMock.addHeader("Authorization", "Bearer $tokenMock") val responseMock = MockHttpServletResponse() diff --git a/src/test/kotlin/com/epam/brn/auth/filter/RememberLastVisitFilterTest.kt b/src/test/kotlin/com/epam/brn/auth/filter/RememberLastVisitFilterTest.kt index fb3c09ad2..8b1bdc8a8 100644 --- a/src/test/kotlin/com/epam/brn/auth/filter/RememberLastVisitFilterTest.kt +++ b/src/test/kotlin/com/epam/brn/auth/filter/RememberLastVisitFilterTest.kt @@ -15,7 +15,7 @@ import org.springframework.mock.web.MockHttpServletRequest import org.springframework.mock.web.MockHttpServletResponse import org.springframework.security.authentication.UsernamePasswordAuthenticationToken import org.springframework.security.core.context.SecurityContextHolder -import javax.servlet.FilterChain +import jakarta.servlet.FilterChain @ExtendWith(MockKExtension::class) @DisplayName("RememberLastVisitFilter test using MockK") @@ -37,7 +37,7 @@ internal class RememberLastVisitFilterTest { @Test fun `should mark visit for current user`() { // GIVEN - val requestMock = MockHttpServletRequest(HttpMethod.GET.name, "/test") + val requestMock = MockHttpServletRequest(HttpMethod.GET.name(), "/test") val tokenMock = "firebaseTokenMock" requestMock.addHeader("Authorization", "Bearer $tokenMock") val responseMock = MockHttpServletResponse() @@ -56,7 +56,7 @@ internal class RememberLastVisitFilterTest { @Test fun `should not mark visit when request is anonymous`() { // GIVEN - val requestMock = MockHttpServletRequest(HttpMethod.GET.name, "/test") + val requestMock = MockHttpServletRequest(HttpMethod.GET.name(), "/test") val tokenMock = "firebaseTokenMock" requestMock.addHeader("Authorization", "Bearer $tokenMock") val responseMock = MockHttpServletResponse() diff --git a/src/test/kotlin/com/epam/brn/controller/CloudControllerTest.kt b/src/test/kotlin/com/epam/brn/controller/CloudControllerTest.kt index fd3c05507..2bb758329 100644 --- a/src/test/kotlin/com/epam/brn/controller/CloudControllerTest.kt +++ b/src/test/kotlin/com/epam/brn/controller/CloudControllerTest.kt @@ -54,7 +54,7 @@ internal class CloudControllerTest { // THEN verify(exactly = 1) { cloudService.bucketUrl() } - assertEquals(HttpStatus.SC_OK, actualBucketUrl.statusCodeValue) + assertEquals(HttpStatus.SC_OK, actualBucketUrl.statusCode.value()) assertEquals(urlContent, actualBucketUrl.body!!.data) } @@ -69,7 +69,7 @@ internal class CloudControllerTest { // THEN verify(exactly = 1) { cloudService.baseFileUrl() } - assertEquals(HttpStatus.SC_OK, actualBaseFileUrl.statusCodeValue) + assertEquals(HttpStatus.SC_OK, actualBaseFileUrl.statusCode.value()) assertEquals(baseFile, actualBaseFileUrl.body!!.data) } @@ -84,7 +84,7 @@ internal class CloudControllerTest { // THEN verify(exactly = 1) { cloudService.getStorageFolders() } - assertEquals(HttpStatus.SC_OK, actualListBucket.statusCodeValue) + assertEquals(HttpStatus.SC_OK, actualListBucket.statusCode.value()) assertEquals(listBucket, actualListBucket.body!!.data) } diff --git a/src/test/kotlin/com/epam/brn/controller/DoctorControllerTest.kt b/src/test/kotlin/com/epam/brn/controller/DoctorControllerTest.kt index 08ee0e0f1..275ff1601 100644 --- a/src/test/kotlin/com/epam/brn/controller/DoctorControllerTest.kt +++ b/src/test/kotlin/com/epam/brn/controller/DoctorControllerTest.kt @@ -77,13 +77,14 @@ internal class DoctorControllerTest { email: String?, roles: MutableSet = mutableSetOf(), doctorId: Long? = null, - ): UserAccountDto = UserAccountDto( - id = id, - name = email, - email = email, - gender = BrnGender.MALE, - bornYear = 2000, - active = true, - doctorId = doctorId, - ).apply { this.roles = roles } + ): UserAccountDto = + UserAccountDto( + id = id, + name = email, + email = email, + gender = BrnGender.MALE, + bornYear = 2000, + active = true, + doctorId = doctorId, + ).apply { this.roles = roles } } diff --git a/src/test/kotlin/com/epam/brn/controller/ExerciseControllerTest.kt b/src/test/kotlin/com/epam/brn/controller/ExerciseControllerTest.kt index 4a340c0e3..1e7c7f708 100644 --- a/src/test/kotlin/com/epam/brn/controller/ExerciseControllerTest.kt +++ b/src/test/kotlin/com/epam/brn/controller/ExerciseControllerTest.kt @@ -88,11 +88,11 @@ internal class ExerciseControllerTest { val loadExercises = exerciseController.loadExercises(seriesId, file) // THEN - loadExercises.statusCodeValue shouldBe HttpStatus.SC_CREATED + loadExercises.statusCode.value() shouldBe HttpStatus.SC_CREATED } @Test - fun `createExerciseWords should return http status 204`() { + fun `createExerciseWords should return http status 201`() { // GIVEN val exerciseWordsCreateDto = ExerciseWordsCreateDto( @@ -111,11 +111,11 @@ internal class ExerciseControllerTest { // THEN verify(exactly = 1) { exerciseService.createExercise(exerciseWordsCreateDto) } - createdExercise.statusCodeValue shouldBe HttpStatus.SC_CREATED + createdExercise.statusCode.value() shouldBe HttpStatus.SC_CREATED } @Test - fun `createExercisePhrases should return http status 204`() { + fun `createExercisePhrases should return http status 201`() { // GIVEN val exercisePhrasesCreateDto = ExercisePhrasesCreateDto( @@ -134,11 +134,11 @@ internal class ExerciseControllerTest { // THEN verify(exactly = 1) { exerciseService.createExercise(exercisePhrasesCreateDto) } - createdExercise.statusCodeValue shouldBe HttpStatus.SC_CREATED + createdExercise.statusCode.value() shouldBe HttpStatus.SC_CREATED } @Test - fun `createExerciseSentences should return http status 204`() { + fun `createExerciseSentences should return http status 201`() { // GIVEN val exerciseSentencesCreateDto = ExerciseSentencesCreateDto( @@ -157,7 +157,7 @@ internal class ExerciseControllerTest { // THEN verify(exactly = 1) { exerciseService.createExercise(exerciseSentencesCreateDto) } - createdExercise.statusCodeValue shouldBe HttpStatus.SC_CREATED + createdExercise.statusCode.value() shouldBe HttpStatus.SC_CREATED } @Test @@ -173,7 +173,7 @@ internal class ExerciseControllerTest { // THEN verify(exactly = 1) { exerciseService.findExercisesWithTasksBySubGroup(subGroupId) } - exercises.statusCodeValue shouldBe HttpStatus.SC_OK + exercises.statusCode.value() shouldBe HttpStatus.SC_OK exercises.body!!.data shouldBe listOf(exerciseResponse) } @@ -189,7 +189,7 @@ internal class ExerciseControllerTest { // THEN verify(exactly = 1) { exerciseService.findExercisesByWord(word) } - exercises.statusCodeValue shouldBe HttpStatus.SC_OK + exercises.statusCode.value() shouldBe HttpStatus.SC_OK exercises.body!!.data shouldBe listOf(exerciseResponse) } } diff --git a/src/test/kotlin/com/epam/brn/controller/ResourceControllerTest.kt b/src/test/kotlin/com/epam/brn/controller/ResourceControllerTest.kt index ef9b2092c..2d702f0c4 100644 --- a/src/test/kotlin/com/epam/brn/controller/ResourceControllerTest.kt +++ b/src/test/kotlin/com/epam/brn/controller/ResourceControllerTest.kt @@ -41,7 +41,7 @@ internal class ResourceControllerTest { // THEN verify(exactly = 1) { resourceService.updateDescription(id, description) } - updated.statusCodeValue shouldBe HttpStatus.SC_OK + updated.statusCode.value() shouldBe HttpStatus.SC_OK updated.body!!.data shouldBe resourceResponse } } diff --git a/src/test/kotlin/com/epam/brn/controller/RoleControllerTest.kt b/src/test/kotlin/com/epam/brn/controller/RoleControllerTest.kt index 2d47479ed..3df30d715 100644 --- a/src/test/kotlin/com/epam/brn/controller/RoleControllerTest.kt +++ b/src/test/kotlin/com/epam/brn/controller/RoleControllerTest.kt @@ -33,7 +33,7 @@ internal class RoleControllerTest { val roles = roleController.getRoles() // THEN - roles.statusCodeValue shouldBe HttpStatus.SC_OK + roles.statusCode.value() shouldBe HttpStatus.SC_OK roles.body!!.data.size shouldBe 1 } } diff --git a/src/test/kotlin/com/epam/brn/controller/StudyHistoryControllerTest.kt b/src/test/kotlin/com/epam/brn/controller/StudyHistoryControllerTest.kt index 09682b27a..94b725009 100644 --- a/src/test/kotlin/com/epam/brn/controller/StudyHistoryControllerTest.kt +++ b/src/test/kotlin/com/epam/brn/controller/StudyHistoryControllerTest.kt @@ -66,7 +66,7 @@ internal class StudyHistoryControllerTest { // THEN verify(exactly = 1) { studyHistoryService.getMonthHistories(userId, month, year) } - monthHistories.statusCodeValue shouldBe org.apache.http.HttpStatus.SC_OK + monthHistories.statusCode.value() shouldBe org.apache.http.HttpStatus.SC_OK monthHistories.body!!.data shouldBe listOf(studyHistoryDto) } } diff --git a/src/test/kotlin/com/epam/brn/controller/StudyHistoryControllerV2Test.kt b/src/test/kotlin/com/epam/brn/controller/StudyHistoryControllerV2Test.kt index cebd3784d..549fe2a8b 100644 --- a/src/test/kotlin/com/epam/brn/controller/StudyHistoryControllerV2Test.kt +++ b/src/test/kotlin/com/epam/brn/controller/StudyHistoryControllerV2Test.kt @@ -40,7 +40,7 @@ internal class StudyHistoryControllerV2Test { // THEN verify(exactly = 1) { studyHistoryService.getHistories(userId, date, date) } - histories.statusCodeValue shouldBe HttpStatus.SC_OK + histories.statusCode.value() shouldBe HttpStatus.SC_OK histories.body!!.data shouldBe listOf(studyHistoryDto) } } diff --git a/src/test/kotlin/com/epam/brn/controller/SubGroupControllerTest.kt b/src/test/kotlin/com/epam/brn/controller/SubGroupControllerTest.kt index f8a680db1..b3c6ceda2 100644 --- a/src/test/kotlin/com/epam/brn/controller/SubGroupControllerTest.kt +++ b/src/test/kotlin/com/epam/brn/controller/SubGroupControllerTest.kt @@ -85,7 +85,7 @@ internal class SubGroupControllerTest { val createdSubGroup = subGroupController.addSubGroupToSeries(seriesId, subGroupRequest) // THEN - createdSubGroup.statusCodeValue shouldBe HttpStatus.SC_CREATED + createdSubGroup.statusCode.value() shouldBe HttpStatus.SC_CREATED } @Test diff --git a/src/test/kotlin/com/epam/brn/controller/UserDetailControllerTest.kt b/src/test/kotlin/com/epam/brn/controller/UserDetailControllerTest.kt index 4f83556fc..26e8c66d6 100644 --- a/src/test/kotlin/com/epam/brn/controller/UserDetailControllerTest.kt +++ b/src/test/kotlin/com/epam/brn/controller/UserDetailControllerTest.kt @@ -302,7 +302,7 @@ internal class UserDetailControllerTest { // THEN verify(exactly = 1) { userAnalyticsService.getUsersWithAnalytics(pageable, role) } - users.statusCodeValue shouldBe HttpStatus.SC_OK + users.statusCode.value() shouldBe HttpStatus.SC_OK (users.body as BrnResponse<*>).data shouldBe listOf(userWithAnalyticsResponse) } @@ -319,7 +319,7 @@ internal class UserDetailControllerTest { // THEN verify(exactly = 1) { userAccountService.getUsers(pageable, role) } - users.statusCodeValue shouldBe HttpStatus.SC_OK + users.statusCode.value() shouldBe HttpStatus.SC_OK (users.body as BrnResponse<*>).data shouldBe listOf(userAccountDto) } @@ -334,7 +334,7 @@ internal class UserDetailControllerTest { // THEN verify { userAccountService.deleteAutoTestUsers() } - result.statusCodeValue shouldBe HttpStatus.SC_OK + result.statusCode.value() shouldBe HttpStatus.SC_OK (result.body as BrnResponse<*>).data shouldBe usersCount } @@ -350,7 +350,7 @@ internal class UserDetailControllerTest { // THEN verify { userAccountService.deleteAutoTestUserByEmail(email) } - result.statusCodeValue shouldBe HttpStatus.SC_OK + result.statusCode.value() shouldBe HttpStatus.SC_OK (result.body as BrnResponse<*>).data shouldBe usersCount } } diff --git a/src/test/kotlin/com/epam/brn/controller/UserStatisticsControllerV2Test.kt b/src/test/kotlin/com/epam/brn/controller/UserStatisticsControllerV2Test.kt index 0716ebcfc..646d0c58c 100644 --- a/src/test/kotlin/com/epam/brn/controller/UserStatisticsControllerV2Test.kt +++ b/src/test/kotlin/com/epam/brn/controller/UserStatisticsControllerV2Test.kt @@ -54,7 +54,7 @@ internal class UserStatisticsControllerV2Test { // THEN verify(exactly = 1) { userDayStatisticService.getStatisticsForPeriod(from, to) } - assertEquals(HttpStatus.SC_OK, userWeeklyStatistic.statusCodeValue) + assertEquals(HttpStatus.SC_OK, userWeeklyStatistic.statusCode.value()) assertEquals(dayStudyStatisticList, (userWeeklyStatistic.body as BrnResponse).data) } @@ -73,7 +73,7 @@ internal class UserStatisticsControllerV2Test { // THEN verify(exactly = 1) { userMonthStatisticService.getStatisticsForPeriod(from, to) } - assertEquals(HttpStatus.SC_OK, userYearlyStatistic.statusCodeValue) + assertEquals(HttpStatus.SC_OK, userYearlyStatistic.statusCode.value()) assertEquals(monthStudyStatisticList, (userYearlyStatistic.body as BrnResponse).data) } @@ -89,7 +89,7 @@ internal class UserStatisticsControllerV2Test { // THEN verify(exactly = 1) { studyHistoryService.getUserDailyStatistics(date, null) } - userWeeklyStatistic.statusCodeValue shouldBe HttpStatus.SC_OK + userWeeklyStatistic.statusCode.value() shouldBe HttpStatus.SC_OK userWeeklyStatistic.body!!.data shouldBe listOf(userDailyDetailStatisticsDto) } @@ -107,7 +107,7 @@ internal class UserStatisticsControllerV2Test { // THEN verify(exactly = 1) { userDayStatisticService.getStatisticsForPeriod(date, date, userId) } - userWeeklyStatistic.statusCodeValue shouldBe HttpStatus.SC_OK + userWeeklyStatistic.statusCode.value() shouldBe HttpStatus.SC_OK userWeeklyStatistic.body!!.data shouldBe listOf(dayStudyStatistics) } @@ -131,7 +131,7 @@ internal class UserStatisticsControllerV2Test { // THEN verify(exactly = 1) { userMonthStatisticService.getStatisticsForPeriod(date, date, userId) } - userYearlyStatistic.statusCodeValue shouldBe HttpStatus.SC_OK + userYearlyStatistic.statusCode.value() shouldBe HttpStatus.SC_OK userYearlyStatistic.body!!.data shouldBe listOf(monthStudyStatistics) } @@ -149,7 +149,7 @@ internal class UserStatisticsControllerV2Test { // THEN verify(exactly = 1) { studyHistoryService.getUserDailyStatistics(date, userId) } - userWeeklyStatistic.statusCodeValue shouldBe HttpStatus.SC_OK + userWeeklyStatistic.statusCode.value() shouldBe HttpStatus.SC_OK userWeeklyStatistic.body!!.data shouldBe listOf(userDailyDetailStatisticsDto) } } diff --git a/src/test/kotlin/com/epam/brn/controller/UserSubGroupStatisticsControllerTest.kt b/src/test/kotlin/com/epam/brn/controller/UserSubGroupStatisticsControllerTest.kt index 9853683b6..ec2fe7ee5 100644 --- a/src/test/kotlin/com/epam/brn/controller/UserSubGroupStatisticsControllerTest.kt +++ b/src/test/kotlin/com/epam/brn/controller/UserSubGroupStatisticsControllerTest.kt @@ -47,7 +47,7 @@ internal class UserSubGroupStatisticsControllerTest { // THEN verify(exactly = 1) { userStatisticService.getSubGroupStatistic(ids) } - assertEquals(HttpStatus.SC_OK, userSubGroupStatistic.statusCodeValue) + assertEquals(HttpStatus.SC_OK, userSubGroupStatistic.statusCode.value()) assertEquals(subGroupStatisticDtoList, (userSubGroupStatistic.body as BrnResponse).data) } } diff --git a/src/test/kotlin/com/epam/brn/integration/BaseIT.kt b/src/test/kotlin/com/epam/brn/integration/BaseIT.kt index ccec18e5a..44d4120e5 100644 --- a/src/test/kotlin/com/epam/brn/integration/BaseIT.kt +++ b/src/test/kotlin/com/epam/brn/integration/BaseIT.kt @@ -107,43 +107,47 @@ abstract class BaseIT { ) } - fun insertDefaultExerciseWithSubGroup(subGroup: SubGroup): Exercise = exerciseRepository.save( - Exercise( - name = "Test exercise ${subGroup.id}", - subGroup = subGroup, - ), - ) + fun insertDefaultExerciseWithSubGroup(subGroup: SubGroup): Exercise = + exerciseRepository.save( + Exercise( + name = "Test exercise ${subGroup.id}", + subGroup = subGroup, + ), + ) fun insertDefaultExercise( subGroup: SubGroup? = null, name: String = "Test exercise", - ): Exercise = exerciseRepository.save( - Exercise( - name = name, - subGroup = subGroup, - ), - ) + ): Exercise = + exerciseRepository.save( + Exercise( + name = name, + subGroup = subGroup, + ), + ) fun insertDefaultSubGroup( series: Series, level: Int, - ): SubGroup = subGroupRepository.save( - SubGroup( - series = series, - level = level, - code = "code", - name = "${series.name}subGroupName$level", - ), - ) - - fun insertDefaultSeries(seriesName: String = "Series for ${platformClassName()}"): Series = seriesRepository.save( - Series( - name = seriesName, - exerciseGroup = insertDefaultExerciseGroup("${seriesName}ExerciseGroup"), - type = "Type", - level = 1, - ), - ) + ): SubGroup = + subGroupRepository.save( + SubGroup( + series = series, + level = level, + code = "code", + name = "${series.name}subGroupName$level", + ), + ) + + fun insertDefaultSeries(seriesName: String = "Series for ${platformClassName()}"): Series = + seriesRepository.save( + Series( + name = seriesName, + exerciseGroup = insertDefaultExerciseGroup("${seriesName}ExerciseGroup"), + type = "Type", + level = 1, + ), + ) fun insertDefaultExerciseGroup(name: String = "Test exercise group for ${platformClassName()}"): ExerciseGroup = exerciseGroupRepository.save( @@ -161,16 +165,18 @@ abstract class BaseIT { bornYear: Int = 2000, gender: String = BrnGender.FEMALE.toString(), roles: MutableSet = mutableSetOf(), - ): UserAccount = userAccountRepository.save( - UserAccount( - fullName = fullName ?: email, - email = email, - active = active, - bornYear = bornYear, - gender = gender, - ).apply { roles.isNotEmpty().let { roleSet.addAll(roles) } }, - ) - - fun createRole(roleName: String): Role = roleRepository.findByName(roleName) - ?: roleRepository.save(Role(name = roleName)) + ): UserAccount = + userAccountRepository.save( + UserAccount( + fullName = fullName ?: email, + email = email, + active = active, + bornYear = bornYear, + gender = gender, + ).apply { roles.isNotEmpty().let { roleSet.addAll(roles) } }, + ) + + fun createRole(roleName: String): Role = + roleRepository.findByName(roleName) + ?: roleRepository.save(Role(name = roleName)) } diff --git a/src/test/kotlin/com/epam/brn/integration/ContributorControllerIT.kt b/src/test/kotlin/com/epam/brn/integration/ContributorControllerIT.kt index 3ed58de2e..69a73a4d5 100644 --- a/src/test/kotlin/com/epam/brn/integration/ContributorControllerIT.kt +++ b/src/test/kotlin/com/epam/brn/integration/ContributorControllerIT.kt @@ -186,17 +186,18 @@ class ContributorControllerIT : BaseIT() { contribution: Long = 1, type: ContributorType = ContributorType.SPECIALIST, contacts: Set = setOf(), - ): ContributorRequest = ContributorRequest( - name = name, - nameEn = name, - description = name, - descriptionEn = name, - contribution = contribution, - type = type, - contacts = contacts, - company = null, - companyEn = null, - pictureUrl = null, - active = true, - ) + ): ContributorRequest = + ContributorRequest( + name = name, + nameEn = name, + description = name, + descriptionEn = name, + contribution = contribution, + type = type, + contacts = contacts, + company = null, + companyEn = null, + pictureUrl = null, + active = true, + ) } diff --git a/src/test/kotlin/com/epam/brn/integration/ExercisesControllerIT.kt b/src/test/kotlin/com/epam/brn/integration/ExercisesControllerIT.kt index 0ff2dbbc8..f2e31eca8 100644 --- a/src/test/kotlin/com/epam/brn/integration/ExercisesControllerIT.kt +++ b/src/test/kotlin/com/epam/brn/integration/ExercisesControllerIT.kt @@ -258,28 +258,30 @@ class ExercisesControllerIT : BaseIT() { existingUser: UserAccount, existingExercise: Exercise, startTime: LocalDateTime, - ): StudyHistory = studyHistoryRepository.save( - StudyHistory( - userAccount = existingUser, - exercise = existingExercise, - endTime = startTime.plusMinutes(Random.nextLong(1, 5)), - startTime = startTime, - executionSeconds = 122, - tasksCount = 12, - wrongAnswers = 3, - replaysCount = 4, - ), - ) + ): StudyHistory = + studyHistoryRepository.save( + StudyHistory( + userAccount = existingUser, + exercise = existingExercise, + endTime = startTime.plusMinutes(Random.nextLong(1, 5)), + startTime = startTime, + executionSeconds = 122, + tasksCount = 12, + wrongAnswers = 3, + replaysCount = 4, + ), + ) - private fun insertUser(): UserAccount = userAccountRepository.save( - UserAccount( - fullName = "testUserFirstName", - gender = BrnGender.MALE.toString(), - bornYear = 2000, - email = "test@test.test", - active = true, - ), - ) + private fun insertUser(): UserAccount = + userAccountRepository.save( + UserAccount( + fullName = "testUserFirstName", + gender = BrnGender.MALE.toString(), + bornYear = 2000, + email = "test@test.test", + active = true, + ), + ) private fun insertSeries(): Series { val exerciseGroup = @@ -307,15 +309,16 @@ class ExercisesControllerIT : BaseIT() { fun insertExercise( subGroup: SubGroup, exerciseName: String, - ): Exercise = exerciseRepository.save( - Exercise( - subGroup = subGroup, - level = 0, - name = exerciseName, - noiseLevel = 50, - noiseUrl = "/testNoiseUrl", - ), - ) + ): Exercise = + exerciseRepository.save( + Exercise( + subGroup = subGroup, + level = 0, + name = exerciseName, + noiseLevel = 50, + noiseUrl = "/testNoiseUrl", + ), + ) fun insertExercise(exerciseName: String): Exercise = exerciseRepository.save(Exercise(name = exerciseName)) } diff --git a/src/test/kotlin/com/epam/brn/integration/GroupControllerIT.kt b/src/test/kotlin/com/epam/brn/integration/GroupControllerIT.kt index 24f3fd4f7..f23942ca7 100644 --- a/src/test/kotlin/com/epam/brn/integration/GroupControllerIT.kt +++ b/src/test/kotlin/com/epam/brn/integration/GroupControllerIT.kt @@ -101,14 +101,15 @@ class GroupControllerIT : BaseIT() { fun insertExerciseGroup( exerciseGroupName: String, locale: String = BrnLocale.RU.locale, - ): ExerciseGroup = exerciseGroupRepository.save( - ExerciseGroup( - code = "CODE", - description = "desc", - name = exerciseGroupName, - locale = locale, - ), - ) + ): ExerciseGroup = + exerciseGroupRepository.save( + ExerciseGroup( + code = "CODE", + description = "desc", + name = exerciseGroupName, + locale = locale, + ), + ) fun insertSeries( group: ExerciseGroup, @@ -128,34 +129,37 @@ class GroupControllerIT : BaseIT() { fun insertSubGroup( series: Series, level: Int, - ): SubGroup = subGroupRepository.save( - SubGroup( - series = series, - level = level, - code = "code", - name = "${series.name}subGroupName$level", - ), - ) + ): SubGroup = + subGroupRepository.save( + SubGroup( + series = series, + level = level, + code = "code", + name = "${series.name}subGroupName$level", + ), + ) fun insertExercise( subGroup: SubGroup, exerciseName: String, - ): Exercise = exerciseRepository.save( - Exercise( - subGroup = subGroup, - level = 0, - name = exerciseName, - noiseLevel = 50, - noiseUrl = "/testNoiseUrl", - ), - ) + ): Exercise = + exerciseRepository.save( + Exercise( + subGroup = subGroup, + level = 0, + name = exerciseName, + noiseLevel = 50, + noiseUrl = "/testNoiseUrl", + ), + ) - fun insertTask(exercise: Exercise): Task = taskRepository.save( - Task( - id = 1, - name = "${exercise.name} Task", - serialNumber = 1, - exercise = exercise, - ), - ) + fun insertTask(exercise: Exercise): Task = + taskRepository.save( + Task( + id = 1, + name = "${exercise.name} Task", + serialNumber = 1, + exercise = exercise, + ), + ) } diff --git a/src/test/kotlin/com/epam/brn/integration/RoleControllerIT.kt b/src/test/kotlin/com/epam/brn/integration/RoleControllerIT.kt index 759079c22..b7cb84579 100644 --- a/src/test/kotlin/com/epam/brn/integration/RoleControllerIT.kt +++ b/src/test/kotlin/com/epam/brn/integration/RoleControllerIT.kt @@ -60,9 +60,10 @@ class RoleControllerIT : BaseIT() { roles.size shouldBe 3 } - private fun insertRole(roleName: String): Role = roleRepository.save( - Role( - name = roleName, - ), - ) + private fun insertRole(roleName: String): Role = + roleRepository.save( + Role( + name = roleName, + ), + ) } diff --git a/src/test/kotlin/com/epam/brn/integration/StudyHistoryIT.kt b/src/test/kotlin/com/epam/brn/integration/StudyHistoryIT.kt index b43e1b5e6..eb5a5554d 100644 --- a/src/test/kotlin/com/epam/brn/integration/StudyHistoryIT.kt +++ b/src/test/kotlin/com/epam/brn/integration/StudyHistoryIT.kt @@ -353,28 +353,30 @@ class StudyHistoryIT : BaseIT() { existingUser: UserAccount, existingExercise: Exercise, startTime: LocalDateTime, - ): StudyHistory = studyHistoryRepository.save( - StudyHistory( - userAccount = existingUser, - exercise = existingExercise, - endTime = startTime.plusMinutes(Random.nextLong(1, 5)), - startTime = startTime, - executionSeconds = 122, - tasksCount = 12, - wrongAnswers = 2, - replaysCount = 4, - ), - ) - - private fun insertUser(): UserAccount = userAccountRepository.save( - UserAccount( - fullName = "testUserFirstName", - gender = BrnGender.MALE.toString(), - bornYear = 2000, - email = "test@test.test", - active = true, - ), - ) + ): StudyHistory = + studyHistoryRepository.save( + StudyHistory( + userAccount = existingUser, + exercise = existingExercise, + endTime = startTime.plusMinutes(Random.nextLong(1, 5)), + startTime = startTime, + executionSeconds = 122, + tasksCount = 12, + wrongAnswers = 2, + replaysCount = 4, + ), + ) + + private fun insertUser(): UserAccount = + userAccountRepository.save( + UserAccount( + fullName = "testUserFirstName", + gender = BrnGender.MALE.toString(), + bornYear = 2000, + email = "test@test.test", + active = true, + ), + ) private fun insertSeries(): Series { val exerciseGroup = @@ -396,20 +398,22 @@ class StudyHistoryIT : BaseIT() { ) } - private fun insertSubGroup(series: Series): SubGroup = subGroupRepository.save( - SubGroup(series = series, level = 1, code = "code", name = "subGroup name"), - ) + private fun insertSubGroup(series: Series): SubGroup = + subGroupRepository.save( + SubGroup(series = series, level = 1, code = "code", name = "subGroup name"), + ) fun insertExercise( exerciseName: String, subGroup: SubGroup, - ): Exercise = exerciseRepository.save( - Exercise( - subGroup = subGroup, - level = 0, - name = exerciseName, - ), - ) + ): Exercise = + exerciseRepository.save( + Exercise( + subGroup = subGroup, + level = 0, + name = exerciseName, + ), + ) private fun insertRole(roleName: String): Role = roleRepository.save(Role(name = roleName)) } diff --git a/src/test/kotlin/com/epam/brn/integration/TaskControllerIT.kt b/src/test/kotlin/com/epam/brn/integration/TaskControllerIT.kt index a26af9893..57bb2ad65 100644 --- a/src/test/kotlin/com/epam/brn/integration/TaskControllerIT.kt +++ b/src/test/kotlin/com/epam/brn/integration/TaskControllerIT.kt @@ -112,44 +112,49 @@ class TaskControllerIT : BaseIT() { Assertions.assertEquals(task.id, actual.getLong("id")) } - private fun insertExerciseGroup(): ExerciseGroup = exerciseGroupRepository.save( - ExerciseGroup( - code = "CODE", - description = "desc", - name = "group", - ), - ) - - private fun insertSeries(exerciseGroup: ExerciseGroup): Series = seriesRepository.save( - Series( - id = 1, - description = "desc", - name = "series", - exerciseGroup = exerciseGroup, - level = 1, - type = ExerciseType.SINGLE_SIMPLE_WORDS.name, - ), - ) - - private fun insertSubGroup(series: Series): SubGroup = subGroupRepository.save( - SubGroup(series = series, level = 1, code = "code", name = "subGroup name"), - ) - - private fun insertExercise(subGroup: SubGroup): Exercise = exerciseRepository.save( - Exercise( - id = 1, - subGroup = subGroup, - level = 0, - name = "exercise", - ), - ) - - private fun insertTask(exercise: Exercise): Task = taskRepository.save( - Task( - id = 1, - name = "${exercise.name} Task", - serialNumber = 1, - exercise = exercise, - ), - ) + private fun insertExerciseGroup(): ExerciseGroup = + exerciseGroupRepository.save( + ExerciseGroup( + code = "CODE", + description = "desc", + name = "group", + ), + ) + + private fun insertSeries(exerciseGroup: ExerciseGroup): Series = + seriesRepository.save( + Series( + id = 1, + description = "desc", + name = "series", + exerciseGroup = exerciseGroup, + level = 1, + type = ExerciseType.SINGLE_SIMPLE_WORDS.name, + ), + ) + + private fun insertSubGroup(series: Series): SubGroup = + subGroupRepository.save( + SubGroup(series = series, level = 1, code = "code", name = "subGroup name"), + ) + + private fun insertExercise(subGroup: SubGroup): Exercise = + exerciseRepository.save( + Exercise( + id = 1, + subGroup = subGroup, + level = 0, + name = "exercise", + ), + ) + + private fun insertTask(exercise: Exercise): Task = + taskRepository.save( + Task( + id = 1, + name = "${exercise.name} Task", + serialNumber = 1, + exercise = exercise, + ), + ) } diff --git a/src/test/kotlin/com/epam/brn/integration/UserDetailsControllerIT.kt b/src/test/kotlin/com/epam/brn/integration/UserDetailsControllerIT.kt index 5176f4480..a3c5633db 100644 --- a/src/test/kotlin/com/epam/brn/integration/UserDetailsControllerIT.kt +++ b/src/test/kotlin/com/epam/brn/integration/UserDetailsControllerIT.kt @@ -463,15 +463,16 @@ class UserDetailsControllerIT : BaseIT() { private fun insertUser( email_: String = email, doctor_: UserAccount? = null, - ): UserAccount = userAccountRepository.save( - UserAccount( - fullName = "testUserFirstName", - gender = BrnGender.MALE.toString(), - bornYear = 2000, - email = email_, - doctor = doctor_, - ), - ) + ): UserAccount = + userAccountRepository.save( + UserAccount( + fullName = "testUserFirstName", + gender = BrnGender.MALE.toString(), + bornYear = 2000, + email = email_, + doctor = doctor_, + ), + ) private fun insertThreeHeadphonesForUser(user: UserAccount) { headphonesRepository.saveAll( @@ -483,9 +484,10 @@ class UserDetailsControllerIT : BaseIT() { ) } - private fun insertRole(roleName: String): Role = roleRepository.save( - Role( - name = roleName, - ), - ) + private fun insertRole(roleName: String): Role = + roleRepository.save( + Role( + name = roleName, + ), + ) } diff --git a/src/test/kotlin/com/epam/brn/integration/firebase/FirebaseWebClientTestMock.kt b/src/test/kotlin/com/epam/brn/integration/firebase/FirebaseWebClientTestMock.kt index 96e195e9e..258cad88b 100644 --- a/src/test/kotlin/com/epam/brn/integration/firebase/FirebaseWebClientTestMock.kt +++ b/src/test/kotlin/com/epam/brn/integration/firebase/FirebaseWebClientTestMock.kt @@ -27,14 +27,15 @@ class FirebaseWebClientTestMock { .build() } - fun verifyPassword(request: FirebaseVerifyPasswordRequest): FirebaseVerifyPasswordResponse? = webClient - .post() - .uri { uriBuilder -> - uriBuilder - .path(verifyPasswordPath) - .queryParams(verifyPasswordQuery) - .build() - }.bodyValue(request) - .exchangeToMono { response -> response.bodyToMono(FirebaseVerifyPasswordResponse::class.java) } - .block() + fun verifyPassword(request: FirebaseVerifyPasswordRequest): FirebaseVerifyPasswordResponse? = + webClient + .post() + .uri { uriBuilder -> + uriBuilder + .path(verifyPasswordPath) + .queryParams(verifyPasswordQuery) + .build() + }.bodyValue(request) + .exchangeToMono { response -> response.bodyToMono(FirebaseVerifyPasswordResponse::class.java) } + .block() } diff --git a/src/test/kotlin/com/epam/brn/integration/service/AudiometryServiceIT.kt b/src/test/kotlin/com/epam/brn/integration/service/AudiometryServiceIT.kt index 45242d4ee..b04d4e55d 100644 --- a/src/test/kotlin/com/epam/brn/integration/service/AudiometryServiceIT.kt +++ b/src/test/kotlin/com/epam/brn/integration/service/AudiometryServiceIT.kt @@ -82,24 +82,26 @@ internal class AudiometryServiceIT { private fun insetHeadphones() = headphonesRepository.save(Headphones(name = "first", active = true, type = HeadphonesType.OVER_EAR_BLUETOOTH)) - private fun insertUser(): UserAccount = userAccountRepository.save( - UserAccount( - fullName = "testUserFirstName", - gender = BrnGender.MALE.toString(), - bornYear = 2000, - email = "test@test.test", - active = true, - ), - ) + private fun insertUser(): UserAccount = + userAccountRepository.save( + UserAccount( + fullName = "testUserFirstName", + gender = BrnGender.MALE.toString(), + bornYear = 2000, + email = "test@test.test", + active = true, + ), + ) - private fun insertSpeechAudiometry(): Audiometry = audiometryRepository.save( - Audiometry( - locale = BrnLocale.EN.locale, - name = "Speech diagnostic", - description = "Speech diagnostic with Lopotko words sequences", - audiometryType = AudiometryType.SPEECH.name, - ), - ) + private fun insertSpeechAudiometry(): Audiometry = + audiometryRepository.save( + Audiometry( + locale = BrnLocale.EN.locale, + name = "Speech diagnostic", + description = "Speech diagnostic with Lopotko words sequences", + audiometryType = AudiometryType.SPEECH.name, + ), + ) private fun insertSpeechAudiometryTasks(audiometry: Audiometry): List { val task1Low = diff --git a/src/test/kotlin/com/epam/brn/integration/service/BrainUpUserDetailsServiceTestIT.kt b/src/test/kotlin/com/epam/brn/integration/service/BrainUpUserDetailsServiceTestIT.kt index 572fbc96b..433a6030c 100644 --- a/src/test/kotlin/com/epam/brn/integration/service/BrainUpUserDetailsServiceTestIT.kt +++ b/src/test/kotlin/com/epam/brn/integration/service/BrainUpUserDetailsServiceTestIT.kt @@ -84,15 +84,16 @@ internal class BrainUpUserDetailsServiceTestIT : BaseIT() { companion object { @JvmStatic - private fun getUserEmailsAndAccountData() = listOf( - Arguments.of("default@gmail.com", null, null), - Arguments.of("default1@gmail.com", null, null), - Arguments.of("default2@gmail.com", null, null), - Arguments.of( - "missed@g.com", - UsernameNotFoundException::class.java, - "User with email: missed@g.com doesn't exist", - ), - ) + private fun getUserEmailsAndAccountData() = + listOf( + Arguments.of("default@gmail.com", null, null), + Arguments.of("default1@gmail.com", null, null), + Arguments.of("default2@gmail.com", null, null), + Arguments.of( + "missed@g.com", + UsernameNotFoundException::class.java, + "User with email: missed@g.com doesn't exist", + ), + ) } } diff --git a/src/test/kotlin/com/epam/brn/integration/service/UserAnalyticServiceIT.kt b/src/test/kotlin/com/epam/brn/integration/service/UserAnalyticServiceIT.kt index 6529929da..046401eb0 100644 --- a/src/test/kotlin/com/epam/brn/integration/service/UserAnalyticServiceIT.kt +++ b/src/test/kotlin/com/epam/brn/integration/service/UserAnalyticServiceIT.kt @@ -87,28 +87,30 @@ class UserAnalyticServiceIT : BaseIT() { existingUser: UserAccount, existingExercise: Exercise, startTime: LocalDateTime, - ): StudyHistory = studyHistoryRepository.save( - StudyHistory( - userAccount = existingUser, - exercise = existingExercise, - endTime = startTime.plusMinutes(Random.nextLong(1, 5)), - startTime = startTime, - executionSeconds = 122, - tasksCount = 12, - wrongAnswers = 2, - replaysCount = 4, - ), - ) + ): StudyHistory = + studyHistoryRepository.save( + StudyHistory( + userAccount = existingUser, + exercise = existingExercise, + endTime = startTime.plusMinutes(Random.nextLong(1, 5)), + startTime = startTime, + executionSeconds = 122, + tasksCount = 12, + wrongAnswers = 2, + replaysCount = 4, + ), + ) - private fun insertUser(): UserAccount = userAccountRepository.save( - UserAccount( - fullName = "testUserFirstName", - gender = BrnGender.MALE.toString(), - bornYear = 2000, - email = "test@test.test", - active = true, - ), - ) + private fun insertUser(): UserAccount = + userAccountRepository.save( + UserAccount( + fullName = "testUserFirstName", + gender = BrnGender.MALE.toString(), + bornYear = 2000, + email = "test@test.test", + active = true, + ), + ) private fun insertSeries(): Series { val exerciseGroup = @@ -130,18 +132,20 @@ class UserAnalyticServiceIT : BaseIT() { ) } - private fun insertSubGroup(series: Series): SubGroup = subGroupRepository.save( - SubGroup(series = series, level = 1, code = "code", name = "subGroup name"), - ) + private fun insertSubGroup(series: Series): SubGroup = + subGroupRepository.save( + SubGroup(series = series, level = 1, code = "code", name = "subGroup name"), + ) fun insertExercise( exerciseName: String, subGroup: SubGroup, - ): Exercise = exerciseRepository.save( - Exercise( - subGroup = subGroup, - level = 0, - name = exerciseName, - ), - ) + ): Exercise = + exerciseRepository.save( + Exercise( + subGroup = subGroup, + level = 0, + name = exerciseName, + ), + ) } diff --git a/src/test/kotlin/com/epam/brn/localization/GroupLocalePostprocessorImplIT.kt b/src/test/kotlin/com/epam/brn/localization/GroupLocalePostprocessorImplIT.kt index e4963046b..1060fb232 100644 --- a/src/test/kotlin/com/epam/brn/localization/GroupLocalePostprocessorImplIT.kt +++ b/src/test/kotlin/com/epam/brn/localization/GroupLocalePostprocessorImplIT.kt @@ -36,47 +36,48 @@ internal class GroupLocalePostprocessorImplIT { companion object { @JvmStatic - private fun getEnUsLocaleExerciseGroupsData() = listOf( - Arguments.of( - ExerciseGroupDto( - id = null, - locale = "en", - name = "Неречевые упражнения", - description = null, - series = mutableListOf(), + private fun getEnUsLocaleExerciseGroupsData() = + listOf( + Arguments.of( + ExerciseGroupDto( + id = null, + locale = "en", + name = "Неречевые упражнения", + description = null, + series = mutableListOf(), + ), + "non-speech exercises", ), - "non-speech exercises", - ), - Arguments.of( - ExerciseGroupDto( - id = null, - locale = "en", - name = "Речевые упражнения", - description = null, - series = mutableListOf(), + Arguments.of( + ExerciseGroupDto( + id = null, + locale = "en", + name = "Речевые упражнения", + description = null, + series = mutableListOf(), + ), + "speech exercises", ), - "speech exercises", - ), - Arguments.of( - ExerciseGroupDto( - id = null, - locale = "ru", - name = "Неречевые упражнения", - description = null, - series = mutableListOf(), + Arguments.of( + ExerciseGroupDto( + id = null, + locale = "ru", + name = "Неречевые упражнения", + description = null, + series = mutableListOf(), + ), + "Неречевые упражнения", ), - "Неречевые упражнения", - ), - Arguments.of( - ExerciseGroupDto( - id = null, - locale = "ru", - name = "Речевые упражнения", - description = null, - series = mutableListOf(), + Arguments.of( + ExerciseGroupDto( + id = null, + locale = "ru", + name = "Речевые упражнения", + description = null, + series = mutableListOf(), + ), + "Речевые упражнения", ), - "Речевые упражнения", - ), - ) + ) } } diff --git a/src/test/kotlin/com/epam/brn/service/ContributorServiceTest.kt b/src/test/kotlin/com/epam/brn/service/ContributorServiceTest.kt index 09de6a69b..449635be6 100644 --- a/src/test/kotlin/com/epam/brn/service/ContributorServiceTest.kt +++ b/src/test/kotlin/com/epam/brn/service/ContributorServiceTest.kt @@ -244,29 +244,31 @@ internal class ContributorServiceTest { name: String, contribution: Long, contacts: Set, - ): ContributorRequest = ContributorRequest( - name = name, - nameEn = name, - type = ContributorType.SPECIALIST, - contribution = contribution, - contacts = contacts, - company = null, - companyEn = null, - description = null, - descriptionEn = null, - pictureUrl = null, - active = true, - ) + ): ContributorRequest = + ContributorRequest( + name = name, + nameEn = name, + type = ContributorType.SPECIALIST, + contribution = contribution, + contacts = contacts, + company = null, + companyEn = null, + description = null, + descriptionEn = null, + pictureUrl = null, + active = true, + ) private fun createContributor( id: Long?, name: String, contribution: Long, contacts: MutableSet = mutableSetOf(), - ): Contributor = Contributor( - id = id, - name = name, - type = ContributorType.SPECIALIST, - contribution = contribution, - ).apply { this.contacts = contacts } + ): Contributor = + Contributor( + id = id, + name = name, + type = ContributorType.SPECIALIST, + contribution = contribution, + ).apply { this.contacts = contacts } } diff --git a/src/test/kotlin/com/epam/brn/service/DoctorServiceTest.kt b/src/test/kotlin/com/epam/brn/service/DoctorServiceTest.kt index 11948778e..8908198c1 100644 --- a/src/test/kotlin/com/epam/brn/service/DoctorServiceTest.kt +++ b/src/test/kotlin/com/epam/brn/service/DoctorServiceTest.kt @@ -352,13 +352,14 @@ internal class DoctorServiceTest { id: Long?, email: String?, doctorId: Long? = null, - ): UserAccountDto = UserAccountDto( - id = id, - name = email, - email = email, - gender = BrnGender.MALE, - bornYear = 2000, - active = true, - doctorId = doctorId, - ) + ): UserAccountDto = + UserAccountDto( + id = id, + name = email, + email = email, + gender = BrnGender.MALE, + bornYear = 2000, + active = true, + doctorId = doctorId, + ) } diff --git a/src/test/kotlin/com/epam/brn/service/OptimizationTest.kt b/src/test/kotlin/com/epam/brn/service/OptimizationTest.kt index 3980728c6..2fdca0361 100644 --- a/src/test/kotlin/com/epam/brn/service/OptimizationTest.kt +++ b/src/test/kotlin/com/epam/brn/service/OptimizationTest.kt @@ -156,13 +156,14 @@ suspend fun doSomethingUsefulTwo(): Int { return 29 } -fun simple(): Flow = flow { - // flow builder - for (i in 1..3) { - delay(1000) // pretend we are doing something useful here - emit(i) // emit next value +fun simple(): Flow = + flow { + // flow builder + for (i in 1..3) { + delay(1000) // pretend we are doing something useful here + emit(i) // emit next value + } } -} suspend fun performRequest(request: Int): String { delay(1000) // imitate long-running asynchronous work diff --git a/src/test/kotlin/com/epam/brn/service/TokenHelperUtilsTest.kt b/src/test/kotlin/com/epam/brn/service/TokenHelperUtilsTest.kt index 42bb52ab7..880c2d9af 100644 --- a/src/test/kotlin/com/epam/brn/service/TokenHelperUtilsTest.kt +++ b/src/test/kotlin/com/epam/brn/service/TokenHelperUtilsTest.kt @@ -8,7 +8,7 @@ import io.mockk.verify import org.junit.jupiter.api.DisplayName import org.junit.jupiter.api.Test import org.junit.jupiter.api.extension.ExtendWith -import javax.servlet.http.HttpServletRequest +import jakarta.servlet.http.HttpServletRequest import kotlin.test.assertEquals import kotlin.test.assertNull diff --git a/src/test/kotlin/com/epam/brn/upload/csv/audiometrySpeech/LopotkoRecordProcessorTest.kt b/src/test/kotlin/com/epam/brn/upload/csv/audiometrySpeech/LopotkoRecordProcessorTest.kt index 058c56623..5c4e77bba 100644 --- a/src/test/kotlin/com/epam/brn/upload/csv/audiometrySpeech/LopotkoRecordProcessorTest.kt +++ b/src/test/kotlin/com/epam/brn/upload/csv/audiometrySpeech/LopotkoRecordProcessorTest.kt @@ -154,39 +154,45 @@ internal class LopotkoRecordProcessorTest { assertThat(actualtask.answerOptions).containsExactlyElementsOf(resources) } - private fun resource_бал(): Resource = Resource( - word = "бал", - wordType = WordType.OBJECT.toString(), - pictureFileUrl = "pictures/бал.jpg", - ) - - private fun resource_бум(): Resource = Resource( - word = "бум", - wordType = WordType.OBJECT.toString(), - pictureFileUrl = "pictures/бум.jpg", - ) - - private fun resource_быль(): Resource = Resource( - word = "быль", - wordType = WordType.OBJECT.toString(), - pictureFileUrl = "pictures/быль.jpg", - ) - - private fun resource_вить(): Resource = Resource( - word = "вить", - wordType = WordType.OBJECT.toString(), - pictureFileUrl = "pictures/вить.jpg", - ) - - private fun resource_гад(): Resource = Resource( - word = "гад", - wordType = WordType.OBJECT.toString(), - pictureFileUrl = "pictures/гад.jpg", - ) - - private fun resource_дуб(): Resource = Resource( - word = "дуб", - wordType = WordType.OBJECT.toString(), - pictureFileUrl = "pictures/дуб.jpg", - ) + private fun resource_бал(): Resource = + Resource( + word = "бал", + wordType = WordType.OBJECT.toString(), + pictureFileUrl = "pictures/бал.jpg", + ) + + private fun resource_бум(): Resource = + Resource( + word = "бум", + wordType = WordType.OBJECT.toString(), + pictureFileUrl = "pictures/бум.jpg", + ) + + private fun resource_быль(): Resource = + Resource( + word = "быль", + wordType = WordType.OBJECT.toString(), + pictureFileUrl = "pictures/быль.jpg", + ) + + private fun resource_вить(): Resource = + Resource( + word = "вить", + wordType = WordType.OBJECT.toString(), + pictureFileUrl = "pictures/вить.jpg", + ) + + private fun resource_гад(): Resource = + Resource( + word = "гад", + wordType = WordType.OBJECT.toString(), + pictureFileUrl = "pictures/гад.jpg", + ) + + private fun resource_дуб(): Resource = + Resource( + word = "дуб", + wordType = WordType.OBJECT.toString(), + pictureFileUrl = "pictures/дуб.jpg", + ) } diff --git a/src/test/kotlin/com/epam/brn/upload/csv/group/GroupRecordProcessorTest.kt b/src/test/kotlin/com/epam/brn/upload/csv/group/GroupRecordProcessorTest.kt index 2d2de35f8..ac1c78e61 100644 --- a/src/test/kotlin/com/epam/brn/upload/csv/group/GroupRecordProcessorTest.kt +++ b/src/test/kotlin/com/epam/brn/upload/csv/group/GroupRecordProcessorTest.kt @@ -57,45 +57,47 @@ internal class GroupRecordProcessorTest { verify(inverse = true) { exerciseGroupRepository.save(ofType(ExerciseGroup::class)) } } - private fun createActualGroupList() = mutableListOf( - ExerciseGroup( - code = "CODE", - name = "name", - locale = "ru-ru", - description = "desc", - ), - ExerciseGroup( - code = "CODE1", - name = "name1", - locale = "ru-ru1", - description = "desc1", - ), - ExerciseGroup( - code = "CODE2", - name = "name2", - locale = "ru-ru2", - description = "desc2", - ), - ) + private fun createActualGroupList() = + mutableListOf( + ExerciseGroup( + code = "CODE", + name = "name", + locale = "ru-ru", + description = "desc", + ), + ExerciseGroup( + code = "CODE1", + name = "name1", + locale = "ru-ru1", + description = "desc1", + ), + ExerciseGroup( + code = "CODE2", + name = "name2", + locale = "ru-ru2", + description = "desc2", + ), + ) - private fun createInputGroupRecordList() = mutableListOf( - GroupRecord( - code = "CODE", - locale = "ru-ru", - name = "name", - description = "desc", - ), - GroupRecord( - code = "CODE1", - locale = "ru-ru1", - name = "name1", - description = "desc1", - ), - GroupRecord( - code = "CODE2", - locale = "ru-ru2", - name = "name2", - description = "desc2", - ), - ) + private fun createInputGroupRecordList() = + mutableListOf( + GroupRecord( + code = "CODE", + locale = "ru-ru", + name = "name", + description = "desc", + ), + GroupRecord( + code = "CODE1", + locale = "ru-ru1", + name = "name1", + description = "desc1", + ), + GroupRecord( + code = "CODE2", + locale = "ru-ru2", + name = "name2", + description = "desc2", + ), + ) } diff --git a/src/test/kotlin/com/epam/brn/upload/csv/nonspeech/SignalSeriesRecordProcessorTest.kt b/src/test/kotlin/com/epam/brn/upload/csv/nonspeech/SignalSeriesRecordProcessorTest.kt index aa32254ed..9bbbcb0ce 100644 --- a/src/test/kotlin/com/epam/brn/upload/csv/nonspeech/SignalSeriesRecordProcessorTest.kt +++ b/src/test/kotlin/com/epam/brn/upload/csv/nonspeech/SignalSeriesRecordProcessorTest.kt @@ -162,11 +162,12 @@ internal class SignalSeriesRecordProcessorTest { verify { exerciseRepositoryMock.save(exercise) } } - private fun createExercise(subGroup: SubGroup) = Exercise( - subGroup = subGroup, - name = "По 2 сигнала разной длительности.", - level = 1, - ) + private fun createExercise(subGroup: SubGroup) = + Exercise( + subGroup = subGroup, + name = "По 2 сигнала разной длительности.", + level = 1, + ) private fun createExerciseWithSignals(subGroup: SubGroup): Exercise { val exercise = diff --git a/src/test/kotlin/com/epam/brn/upload/csv/series/SeriesGenericRecordProcessorTest.kt b/src/test/kotlin/com/epam/brn/upload/csv/series/SeriesGenericRecordProcessorTest.kt index 0069d4e82..1b956a1b0 100644 --- a/src/test/kotlin/com/epam/brn/upload/csv/series/SeriesGenericRecordProcessorTest.kt +++ b/src/test/kotlin/com/epam/brn/upload/csv/series/SeriesGenericRecordProcessorTest.kt @@ -97,51 +97,53 @@ internal class SeriesGenericRecordProcessorTest { verify(inverse = true) { seriesRepository.save(ofType(Series::class)) } } - private fun createActualSeriesList() = mutableListOf( - Series( - type = "WORDS_SEQUENCES", - name = "name", - level = 0, - description = "desc", - exerciseGroup = exerciseGroups[0], - ), - Series( - type = "SENTENCE", - name = "name1", - level = 1, - description = "desc1", - exerciseGroup = exerciseGroups[0], - ), - Series( - type = "SINGLE_SIMPLE_WORDS", - name = "name2", - level = 2, - description = "desc2", - exerciseGroup = exerciseGroups[1], - ), - ) + private fun createActualSeriesList() = + mutableListOf( + Series( + type = "WORDS_SEQUENCES", + name = "name", + level = 0, + description = "desc", + exerciseGroup = exerciseGroups[0], + ), + Series( + type = "SENTENCE", + name = "name1", + level = 1, + description = "desc1", + exerciseGroup = exerciseGroups[0], + ), + Series( + type = "SINGLE_SIMPLE_WORDS", + name = "name2", + level = 2, + description = "desc2", + exerciseGroup = exerciseGroups[1], + ), + ) - private fun createInputSeriesGenericRecordList() = mutableListOf( - SeriesGenericRecord( - groupCode = "CODE1", - level = 0, - type = "WORDS_SEQUENCES", - name = "name", - description = "desc", - ), - SeriesGenericRecord( - groupCode = "CODE1", - level = 1, - type = "SENTENCE", - name = "name1", - description = "desc1", - ), - SeriesGenericRecord( - groupCode = "CODE2", - level = 2, - type = "SINGLE_SIMPLE_WORDS", - name = "name2", - description = "desc2", - ), - ) + private fun createInputSeriesGenericRecordList() = + mutableListOf( + SeriesGenericRecord( + groupCode = "CODE1", + level = 0, + type = "WORDS_SEQUENCES", + name = "name", + description = "desc", + ), + SeriesGenericRecord( + groupCode = "CODE1", + level = 1, + type = "SENTENCE", + name = "name1", + description = "desc1", + ), + SeriesGenericRecord( + groupCode = "CODE2", + level = 2, + type = "SINGLE_SIMPLE_WORDS", + name = "name2", + description = "desc2", + ), + ) } diff --git a/src/test/kotlin/com/epam/brn/upload/csv/seriesMatrix/SeriesMatrixRecordProcessorTest.kt b/src/test/kotlin/com/epam/brn/upload/csv/seriesMatrix/SeriesMatrixRecordProcessorTest.kt index d2093ca11..1cae1e180 100644 --- a/src/test/kotlin/com/epam/brn/upload/csv/seriesMatrix/SeriesMatrixRecordProcessorTest.kt +++ b/src/test/kotlin/com/epam/brn/upload/csv/seriesMatrix/SeriesMatrixRecordProcessorTest.kt @@ -213,53 +213,60 @@ internal class SeriesMatrixRecordProcessorTest { return exercise } - private fun createTask(exercise: Exercise): Task = Task( - serialNumber = 2, - exercise = exercise, - answerOptions = - mutableSetOf( - resource_девочка(), - resource_бабушка(), - resource_дедушка(), - resource_сидит(), - resource_лежит(), - resource_идет(), - ), - ) + private fun createTask(exercise: Exercise): Task = + Task( + serialNumber = 2, + exercise = exercise, + answerOptions = + mutableSetOf( + resource_девочка(), + resource_бабушка(), + resource_дедушка(), + resource_сидит(), + resource_лежит(), + resource_идет(), + ), + ) - private fun resource_девочка(): Resource = Resource( - word = "девочка", - wordType = WordType.OBJECT.toString(), - pictureFileUrl = "pictures/withWord/девочка.jpg", - ) + private fun resource_девочка(): Resource = + Resource( + word = "девочка", + wordType = WordType.OBJECT.toString(), + pictureFileUrl = "pictures/withWord/девочка.jpg", + ) - private fun resource_бабушка(): Resource = Resource( - word = "бабушка", - wordType = WordType.OBJECT.toString(), - pictureFileUrl = "pictures/withWord/бабушка.jpg", - ) + private fun resource_бабушка(): Resource = + Resource( + word = "бабушка", + wordType = WordType.OBJECT.toString(), + pictureFileUrl = "pictures/withWord/бабушка.jpg", + ) - private fun resource_дедушка(): Resource = Resource( - word = "дедушка", - wordType = WordType.OBJECT.toString(), - pictureFileUrl = "pictures/withWord/дедушка.jpg", - ) + private fun resource_дедушка(): Resource = + Resource( + word = "дедушка", + wordType = WordType.OBJECT.toString(), + pictureFileUrl = "pictures/withWord/дедушка.jpg", + ) - private fun resource_сидит(): Resource = Resource( - word = "сидит", - wordType = WordType.OBJECT_ACTION.toString(), - pictureFileUrl = "pictures/withWord/сидит.jpg", - ) + private fun resource_сидит(): Resource = + Resource( + word = "сидит", + wordType = WordType.OBJECT_ACTION.toString(), + pictureFileUrl = "pictures/withWord/сидит.jpg", + ) - private fun resource_лежит(): Resource = Resource( - word = "лежит", - wordType = WordType.OBJECT_ACTION.toString(), - pictureFileUrl = "pictures/withWord/лежит.jpg", - ) + private fun resource_лежит(): Resource = + Resource( + word = "лежит", + wordType = WordType.OBJECT_ACTION.toString(), + pictureFileUrl = "pictures/withWord/лежит.jpg", + ) - private fun resource_идет(): Resource = Resource( - word = "идет", - wordType = WordType.OBJECT_ACTION.toString(), - pictureFileUrl = "pictures/withWord/идет.jpg", - ) + private fun resource_идет(): Resource = + Resource( + word = "идет", + wordType = WordType.OBJECT_ACTION.toString(), + pictureFileUrl = "pictures/withWord/идет.jpg", + ) } diff --git a/src/test/kotlin/com/epam/brn/upload/csv/seriesSyllablesKoroleva/SeriesSyllablesKorolevaRecordProcessorTest.kt b/src/test/kotlin/com/epam/brn/upload/csv/seriesSyllablesKoroleva/SeriesSyllablesKorolevaRecordProcessorTest.kt index d7c7c453f..58e66ef81 100644 --- a/src/test/kotlin/com/epam/brn/upload/csv/seriesSyllablesKoroleva/SeriesSyllablesKorolevaRecordProcessorTest.kt +++ b/src/test/kotlin/com/epam/brn/upload/csv/seriesSyllablesKoroleva/SeriesSyllablesKorolevaRecordProcessorTest.kt @@ -187,72 +187,79 @@ internal class SeriesSyllablesKorolevaRecordProcessorTest { return exercise } - private fun createTasks(exercise: Exercise): List = listOf( - Task( - exercise = exercise, - serialNumber = 1, - answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), - correctAnswer = resource_бал(), - ), - Task( - exercise = exercise, - serialNumber = 2, - answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), - correctAnswer = resource_бум(), - ), - Task( - exercise = exercise, - serialNumber = 3, - answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), - correctAnswer = resource_быль(), - ), - Task( - exercise = exercise, - serialNumber = 4, - answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), - correctAnswer = resource_бал(), - ), - Task( - exercise = exercise, - serialNumber = 5, - answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), - correctAnswer = resource_бум(), - ), - Task( - exercise = exercise, - serialNumber = 6, - answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), - correctAnswer = resource_быль(), - ), - ) + private fun createTasks(exercise: Exercise): List = + listOf( + Task( + exercise = exercise, + serialNumber = 1, + answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), + correctAnswer = resource_бал(), + ), + Task( + exercise = exercise, + serialNumber = 2, + answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), + correctAnswer = resource_бум(), + ), + Task( + exercise = exercise, + serialNumber = 3, + answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), + correctAnswer = resource_быль(), + ), + Task( + exercise = exercise, + serialNumber = 4, + answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), + correctAnswer = resource_бал(), + ), + Task( + exercise = exercise, + serialNumber = 5, + answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), + correctAnswer = resource_бум(), + ), + Task( + exercise = exercise, + serialNumber = 6, + answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), + correctAnswer = resource_быль(), + ), + ) - private fun resource_бал(): Resource = Resource( - word = "бал", - wordType = WordType.OBJECT.toString(), - ) + private fun resource_бал(): Resource = + Resource( + word = "бал", + wordType = WordType.OBJECT.toString(), + ) - private fun resource_бум(): Resource = Resource( - word = "бум", - wordType = WordType.OBJECT.toString(), - ) + private fun resource_бум(): Resource = + Resource( + word = "бум", + wordType = WordType.OBJECT.toString(), + ) - private fun resource_быль(): Resource = Resource( - word = "быль", - wordType = WordType.OBJECT.toString(), - ) + private fun resource_быль(): Resource = + Resource( + word = "быль", + wordType = WordType.OBJECT.toString(), + ) - private fun resource_вить(): Resource = Resource( - word = "вить", - wordType = WordType.OBJECT.toString(), - ) + private fun resource_вить(): Resource = + Resource( + word = "вить", + wordType = WordType.OBJECT.toString(), + ) - private fun resource_гад(): Resource = Resource( - word = "гад", - wordType = WordType.OBJECT.toString(), - ) + private fun resource_гад(): Resource = + Resource( + word = "гад", + wordType = WordType.OBJECT.toString(), + ) - private fun resource_дуб(): Resource = Resource( - word = "дуб", - wordType = WordType.OBJECT.toString(), - ) + private fun resource_дуб(): Resource = + Resource( + word = "дуб", + wordType = WordType.OBJECT.toString(), + ) } diff --git a/src/test/kotlin/com/epam/brn/upload/csv/seriesWords/SeriesWordsRecordProcessorTest.kt b/src/test/kotlin/com/epam/brn/upload/csv/seriesWords/SeriesWordsRecordProcessorTest.kt index 520e849fe..be04bb864 100644 --- a/src/test/kotlin/com/epam/brn/upload/csv/seriesWords/SeriesWordsRecordProcessorTest.kt +++ b/src/test/kotlin/com/epam/brn/upload/csv/seriesWords/SeriesWordsRecordProcessorTest.kt @@ -251,66 +251,73 @@ internal class SeriesWordsRecordProcessorTest { return exercise } - private fun createTasks(exercise: Exercise): List = listOf( - Task( - exercise = exercise, - serialNumber = 1, - answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), - ), - Task( - exercise = exercise, - serialNumber = 2, - answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), - ), - Task( - exercise = exercise, - serialNumber = 3, - answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), - ), - Task( - exercise = exercise, - serialNumber = 4, - answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), - ), - Task( - exercise = exercise, - serialNumber = 5, - answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), - ), - Task( - exercise = exercise, - serialNumber = 6, - answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), - ), - ) + private fun createTasks(exercise: Exercise): List = + listOf( + Task( + exercise = exercise, + serialNumber = 1, + answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), + ), + Task( + exercise = exercise, + serialNumber = 2, + answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), + ), + Task( + exercise = exercise, + serialNumber = 3, + answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), + ), + Task( + exercise = exercise, + serialNumber = 4, + answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), + ), + Task( + exercise = exercise, + serialNumber = 5, + answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), + ), + Task( + exercise = exercise, + serialNumber = 6, + answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), + ), + ) - private fun resource_бал(): Resource = Resource( - word = "бал", - wordType = WordType.OBJECT.toString(), - ) + private fun resource_бал(): Resource = + Resource( + word = "бал", + wordType = WordType.OBJECT.toString(), + ) - private fun resource_бум(): Resource = Resource( - word = "бум", - wordType = WordType.OBJECT.toString(), - ) + private fun resource_бум(): Resource = + Resource( + word = "бум", + wordType = WordType.OBJECT.toString(), + ) - private fun resource_быль(): Resource = Resource( - word = "быль", - wordType = WordType.OBJECT.toString(), - ) + private fun resource_быль(): Resource = + Resource( + word = "быль", + wordType = WordType.OBJECT.toString(), + ) - private fun resource_вить(): Resource = Resource( - word = "вить", - wordType = WordType.OBJECT.toString(), - ) + private fun resource_вить(): Resource = + Resource( + word = "вить", + wordType = WordType.OBJECT.toString(), + ) - private fun resource_гад(): Resource = Resource( - word = "гад", - wordType = WordType.OBJECT.toString(), - ) + private fun resource_гад(): Resource = + Resource( + word = "гад", + wordType = WordType.OBJECT.toString(), + ) - private fun resource_дуб(): Resource = Resource( - word = "дуб", - wordType = WordType.OBJECT.toString(), - ) + private fun resource_дуб(): Resource = + Resource( + word = "дуб", + wordType = WordType.OBJECT.toString(), + ) } diff --git a/src/test/kotlin/com/epam/brn/upload/csv/seriesWordsKoroleva/SeriesWordsKorolevaRecordProcessorTest.kt b/src/test/kotlin/com/epam/brn/upload/csv/seriesWordsKoroleva/SeriesWordsKorolevaRecordProcessorTest.kt index 510850108..a1ba98036 100644 --- a/src/test/kotlin/com/epam/brn/upload/csv/seriesWordsKoroleva/SeriesWordsKorolevaRecordProcessorTest.kt +++ b/src/test/kotlin/com/epam/brn/upload/csv/seriesWordsKoroleva/SeriesWordsKorolevaRecordProcessorTest.kt @@ -279,66 +279,73 @@ internal class SeriesWordsKorolevaRecordProcessorTest { return exercise } - private fun createTasks(exercise: Exercise): List = listOf( - Task( - exercise = exercise, - serialNumber = 0, - answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), - ), - Task( - exercise = exercise, - serialNumber = 1, - answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), - ), - Task( - exercise = exercise, - serialNumber = 2, - answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), - ), - Task( - exercise = exercise, - serialNumber = 3, - answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), - ), - Task( - exercise = exercise, - serialNumber = 4, - answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), - ), - Task( - exercise = exercise, - serialNumber = 5, - answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), - ), - ) + private fun createTasks(exercise: Exercise): List = + listOf( + Task( + exercise = exercise, + serialNumber = 0, + answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), + ), + Task( + exercise = exercise, + serialNumber = 1, + answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), + ), + Task( + exercise = exercise, + serialNumber = 2, + answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), + ), + Task( + exercise = exercise, + serialNumber = 3, + answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), + ), + Task( + exercise = exercise, + serialNumber = 4, + answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), + ), + Task( + exercise = exercise, + serialNumber = 5, + answerOptions = mutableSetOf(resource_бал(), resource_бум(), resource_быль()), + ), + ) - private fun resource_бал(): Resource = Resource( - word = "бал", - wordType = WordType.OBJECT.toString(), - ) + private fun resource_бал(): Resource = + Resource( + word = "бал", + wordType = WordType.OBJECT.toString(), + ) - private fun resource_бум(): Resource = Resource( - word = "бум", - wordType = WordType.OBJECT.toString(), - ) + private fun resource_бум(): Resource = + Resource( + word = "бум", + wordType = WordType.OBJECT.toString(), + ) - private fun resource_быль(): Resource = Resource( - word = "быль", - wordType = WordType.OBJECT.toString(), - ) + private fun resource_быль(): Resource = + Resource( + word = "быль", + wordType = WordType.OBJECT.toString(), + ) - private fun resource_вить(): Resource = Resource( - word = "вить", - wordType = WordType.OBJECT.toString(), - ) + private fun resource_вить(): Resource = + Resource( + word = "вить", + wordType = WordType.OBJECT.toString(), + ) - private fun resource_гад(): Resource = Resource( - word = "гад", - wordType = WordType.OBJECT.toString(), - ) + private fun resource_гад(): Resource = + Resource( + word = "гад", + wordType = WordType.OBJECT.toString(), + ) - private fun resource_дуб(): Resource = Resource( - word = "дуб", - wordType = WordType.OBJECT.toString(), - ) + private fun resource_дуб(): Resource = + Resource( + word = "дуб", + wordType = WordType.OBJECT.toString(), + ) }