diff --git a/article-api/src/main/scala/no/ndla/articleapi/ComponentRegistry.scala b/article-api/src/main/scala/no/ndla/articleapi/ComponentRegistry.scala index c2a451b958..fb015837b0 100644 --- a/article-api/src/main/scala/no/ndla/articleapi/ComponentRegistry.scala +++ b/article-api/src/main/scala/no/ndla/articleapi/ComponentRegistry.scala @@ -17,7 +17,7 @@ import no.ndla.articleapi.service.* import no.ndla.articleapi.service.search.* import no.ndla.articleapi.validation.ContentValidator import no.ndla.articleapi.integration.SearchApiClient -import no.ndla.articleapi.model.api.ErrorHelpers +import no.ndla.articleapi.model.api.ErrorHandling import no.ndla.articleapi.model.domain.DBArticle import no.ndla.common.Clock import no.ndla.common.configuration.BaseComponentRegistry @@ -51,7 +51,7 @@ class ComponentRegistry(properties: ArticleApiProperties) with WriteService with ContentValidator with Clock - with ErrorHelpers + with ErrorHandling with DBArticle with DBMigrator with SwaggerDocControllerConfig diff --git a/article-api/src/main/scala/no/ndla/articleapi/controller/ArticleControllerV2.scala b/article-api/src/main/scala/no/ndla/articleapi/controller/ArticleControllerV2.scala index d7c975de6f..fe6c684e35 100644 --- a/article-api/src/main/scala/no/ndla/articleapi/controller/ArticleControllerV2.scala +++ b/article-api/src/main/scala/no/ndla/articleapi/controller/ArticleControllerV2.scala @@ -34,7 +34,7 @@ import scala.util.{Failure, Success, Try} trait ArticleControllerV2 { this: ReadService & WriteService & ArticleSearchService & SearchConverterService & ConverterService & - ContentValidator & Props & ErrorHelpers & TapirController => + ContentValidator & Props & ErrorHandling & TapirController => val articleControllerV2: ArticleControllerV2 import props._ diff --git a/article-api/src/main/scala/no/ndla/articleapi/controller/InternController.scala b/article-api/src/main/scala/no/ndla/articleapi/controller/InternController.scala index ac9b2c2abf..fa6ea57c29 100644 --- a/article-api/src/main/scala/no/ndla/articleapi/controller/InternController.scala +++ b/article-api/src/main/scala/no/ndla/articleapi/controller/InternController.scala @@ -24,7 +24,7 @@ import no.ndla.language.Language import no.ndla.network.tapir.NoNullJsonPrinter.jsonBody import no.ndla.network.tapir.TapirUtil.errorOutputsFor import no.ndla.network.tapir.auth.Permission.ARTICLE_API_WRITE -import no.ndla.network.tapir.{TapirController, TapirErrorHelpers} +import no.ndla.network.tapir.TapirController import sttp.model.StatusCode import sttp.tapir.* import sttp.tapir.generic.auto.* @@ -37,7 +37,7 @@ import scala.util.{Failure, Success} trait InternController { this: ReadService & WriteService & ConverterService & ArticleRepository & IndexService & ArticleIndexService & - ContentValidator & TapirErrorHelpers & Props & DBArticle & TapirController => + ContentValidator & Props & DBArticle & TapirController => val internController: InternController class InternController extends TapirController with StrictLogging { diff --git a/article-api/src/main/scala/no/ndla/articleapi/model/api/NDLAErrors.scala b/article-api/src/main/scala/no/ndla/articleapi/model/api/NDLAErrors.scala index f6ee1f8125..b64590834d 100644 --- a/article-api/src/main/scala/no/ndla/articleapi/model/api/NDLAErrors.scala +++ b/article-api/src/main/scala/no/ndla/articleapi/model/api/NDLAErrors.scala @@ -18,13 +18,13 @@ import no.ndla.network.tapir.{ AllErrors, ErrorBody, NotFoundWithSupportedLanguages, - TapirErrorHelpers, + TapirErrorHandling, ValidationErrorBody } import no.ndla.search.{IndexNotFoundException, NdlaSearchException} import org.postgresql.util.PSQLException -trait ErrorHelpers extends TapirErrorHelpers with StrictLogging { +trait ErrorHandling extends TapirErrorHandling with StrictLogging { this: Props with Clock with DataSource => import ErrorHelpers._ diff --git a/article-api/src/main/scala/no/ndla/articleapi/service/ReadService.scala b/article-api/src/main/scala/no/ndla/articleapi/service/ReadService.scala index 9b8330bc43..cd7f4f525a 100644 --- a/article-api/src/main/scala/no/ndla/articleapi/service/ReadService.scala +++ b/article-api/src/main/scala/no/ndla/articleapi/service/ReadService.scala @@ -15,7 +15,7 @@ import no.ndla.articleapi.Props import no.ndla.articleapi.caching.MemoizeHelpers import no.ndla.articleapi.integration.FrontpageApiClient import no.ndla.articleapi.model.api -import no.ndla.articleapi.model.api.{ArticleSummaryV2, ErrorHelpers, NotFoundException} +import no.ndla.articleapi.model.api.{ArticleSummaryV2, ErrorHandling, NotFoundException} import no.ndla.articleapi.model.domain.* import no.ndla.articleapi.model.search.SearchResult import no.ndla.articleapi.repository.ArticleRepository @@ -39,7 +39,7 @@ import scala.util.{Failure, Success, Try} trait ReadService { this: ArticleRepository & FeideApiClient & ConverterService & ArticleSearchService & SearchConverterService & - MemoizeHelpers & Props & ErrorHelpers & FrontpageApiClient => + MemoizeHelpers & Props & ErrorHandling & FrontpageApiClient => val readService: ReadService class ReadService extends StrictLogging { diff --git a/article-api/src/main/scala/no/ndla/articleapi/service/search/ArticleSearchService.scala b/article-api/src/main/scala/no/ndla/articleapi/service/search/ArticleSearchService.scala index e087bd5b3a..3f6d3a262f 100644 --- a/article-api/src/main/scala/no/ndla/articleapi/service/search/ArticleSearchService.scala +++ b/article-api/src/main/scala/no/ndla/articleapi/service/search/ArticleSearchService.scala @@ -13,7 +13,7 @@ import com.sksamuel.elastic4s.requests.searches.queries.compound.BoolQuery import com.typesafe.scalalogging.StrictLogging import no.ndla.articleapi.Props import no.ndla.articleapi.model.api -import no.ndla.articleapi.model.api.{ArticleSummaryV2, ErrorHelpers} +import no.ndla.articleapi.model.api.{ArticleSummaryV2, ErrorHandling} import no.ndla.articleapi.model.domain._ import no.ndla.articleapi.model.search.SearchResult import no.ndla.articleapi.service.ConverterService @@ -34,7 +34,7 @@ trait ArticleSearchService { with ArticleIndexService with ConverterService with Props - with ErrorHelpers => + with ErrorHandling => val articleSearchService: ArticleSearchService import props._ diff --git a/article-api/src/test/scala/no/ndla/articleapi/TestEnvironment.scala b/article-api/src/test/scala/no/ndla/articleapi/TestEnvironment.scala index e34ed70f08..bab67a72c6 100644 --- a/article-api/src/test/scala/no/ndla/articleapi/TestEnvironment.scala +++ b/article-api/src/test/scala/no/ndla/articleapi/TestEnvironment.scala @@ -17,7 +17,7 @@ import no.ndla.articleapi.service.* import no.ndla.articleapi.service.search.* import no.ndla.articleapi.validation.ContentValidator import no.ndla.articleapi.integration.SearchApiClient -import no.ndla.articleapi.model.api.ErrorHelpers +import no.ndla.articleapi.model.api.ErrorHandling import no.ndla.articleapi.model.domain.DBArticle import no.ndla.common.Clock import no.ndla.network.NdlaClient @@ -49,7 +49,7 @@ trait TestEnvironment with WriteService with ContentValidator with Clock - with ErrorHelpers + with ErrorHandling with MemoizeHelpers with DBArticle with Props diff --git a/audio-api/src/main/scala/no/ndla/audioapi/ComponentRegistry.scala b/audio-api/src/main/scala/no/ndla/audioapi/ComponentRegistry.scala index 9048511814..a7e997e2a2 100644 --- a/audio-api/src/main/scala/no/ndla/audioapi/ComponentRegistry.scala +++ b/audio-api/src/main/scala/no/ndla/audioapi/ComponentRegistry.scala @@ -11,7 +11,7 @@ package no.ndla.audioapi import com.zaxxer.hikari.HikariDataSource import no.ndla.audioapi.controller.* import no.ndla.audioapi.integration.* -import no.ndla.audioapi.model.api.ErrorHelpers +import no.ndla.audioapi.model.api.ErrorHandling import no.ndla.audioapi.repository.{AudioRepository, SeriesRepository} import no.ndla.audioapi.service.* import no.ndla.audioapi.service.search.* @@ -51,7 +51,7 @@ class ComponentRegistry(properties: AudioApiProperties) with Clock with Props with DBMigrator - with ErrorHelpers + with ErrorHandling with SwaggerDocControllerConfig with NdlaS3Client { override val props: AudioApiProperties = properties diff --git a/audio-api/src/main/scala/no/ndla/audioapi/controller/AudioController.scala b/audio-api/src/main/scala/no/ndla/audioapi/controller/AudioController.scala index 5cc31a5a2c..c4e9f01c74 100644 --- a/audio-api/src/main/scala/no/ndla/audioapi/controller/AudioController.scala +++ b/audio-api/src/main/scala/no/ndla/audioapi/controller/AudioController.scala @@ -44,7 +44,7 @@ trait AudioController { with SearchConverterService with ConverterService with Props - with ErrorHelpers + with ErrorHandling with TapirController => val audioApiController: AudioController diff --git a/audio-api/src/main/scala/no/ndla/audioapi/controller/InternController.scala b/audio-api/src/main/scala/no/ndla/audioapi/controller/InternController.scala index f7ad7d264a..6e02d48039 100644 --- a/audio-api/src/main/scala/no/ndla/audioapi/controller/InternController.scala +++ b/audio-api/src/main/scala/no/ndla/audioapi/controller/InternController.scala @@ -12,7 +12,7 @@ import cats.implicits.* import io.circe.generic.auto.* import no.ndla.audioapi.Props import no.ndla.audioapi.model.api -import no.ndla.audioapi.model.api.{AudioMetaDomainDump, ErrorHelpers, NotFoundException} +import no.ndla.audioapi.model.api.{AudioMetaDomainDump, ErrorHandling, NotFoundException} import no.ndla.audioapi.model.domain.AudioMetaInformation import no.ndla.audioapi.repository.AudioRepository import no.ndla.audioapi.service.search.{AudioIndexService, SeriesIndexService, TagIndexService} @@ -29,7 +29,7 @@ import scala.util.{Failure, Success} trait InternController { this: AudioIndexService & ConverterService & AudioRepository & AudioIndexService & SeriesIndexService & - TagIndexService & ReadService & Props & ErrorHelpers & TapirController => + TagIndexService & ReadService & Props & ErrorHandling & TapirController => val internController: InternController class InternController extends TapirController { diff --git a/audio-api/src/main/scala/no/ndla/audioapi/controller/SeriesController.scala b/audio-api/src/main/scala/no/ndla/audioapi/controller/SeriesController.scala index ebc40c800e..57cbe1d30a 100644 --- a/audio-api/src/main/scala/no/ndla/audioapi/controller/SeriesController.scala +++ b/audio-api/src/main/scala/no/ndla/audioapi/controller/SeriesController.scala @@ -32,7 +32,7 @@ import scala.util.{Failure, Success, Try} trait SeriesController { this: ReadService & WriteService & SeriesSearchService & SearchConverterService & ConverterService & Props & - ErrorHelpers & TapirController => + ErrorHandling & TapirController => val seriesController: SeriesController class SeriesController extends TapirController { import props.* diff --git a/audio-api/src/main/scala/no/ndla/audioapi/model/api/Error.scala b/audio-api/src/main/scala/no/ndla/audioapi/model/api/Error.scala index 9e3d8a02e4..871fd67462 100644 --- a/audio-api/src/main/scala/no/ndla/audioapi/model/api/Error.scala +++ b/audio-api/src/main/scala/no/ndla/audioapi/model/api/Error.scala @@ -13,11 +13,11 @@ import no.ndla.audioapi.integration.DataSource import no.ndla.common.Clock import no.ndla.common.errors.{AccessDeniedException, FileTooBigException, ValidationException} import no.ndla.network.model.HttpRequestException -import no.ndla.network.tapir.{AllErrors, ErrorBody, TapirErrorHelpers, ValidationErrorBody} +import no.ndla.network.tapir.{AllErrors, ErrorBody, TapirErrorHandling, ValidationErrorBody} import no.ndla.search.NdlaSearchException import org.postgresql.util.PSQLException -trait ErrorHelpers extends TapirErrorHelpers { +trait ErrorHandling extends TapirErrorHandling { this: Props with Clock with DataSource => import ErrorHelpers._ diff --git a/audio-api/src/main/scala/no/ndla/audioapi/repository/AudioRepository.scala b/audio-api/src/main/scala/no/ndla/audioapi/repository/AudioRepository.scala index 9476b0175d..fb87d16ee4 100644 --- a/audio-api/src/main/scala/no/ndla/audioapi/repository/AudioRepository.scala +++ b/audio-api/src/main/scala/no/ndla/audioapi/repository/AudioRepository.scala @@ -11,16 +11,16 @@ package no.ndla.audioapi.repository import com.typesafe.scalalogging.StrictLogging import no.ndla.audioapi.Props import no.ndla.audioapi.integration.DataSource -import no.ndla.audioapi.model.api.ErrorHelpers +import no.ndla.audioapi.model.api.ErrorHandling import no.ndla.audioapi.model.domain.{AudioMetaInformation, Series} import no.ndla.common.CirceUtil import org.postgresql.util.PGobject -import scalikejdbc.{DBSession, ReadOnlyAutoSession, *} +import scalikejdbc.* import scala.util.{Failure, Success, Try} trait AudioRepository { - this: DataSource with SeriesRepository with Props with ErrorHelpers => + this: DataSource with SeriesRepository with Props with ErrorHandling => val audioRepository: AudioRepository class AudioRepository extends StrictLogging with Repository[AudioMetaInformation] { diff --git a/audio-api/src/main/scala/no/ndla/audioapi/repository/SeriesRepository.scala b/audio-api/src/main/scala/no/ndla/audioapi/repository/SeriesRepository.scala index 407227ec5e..0a19972a73 100644 --- a/audio-api/src/main/scala/no/ndla/audioapi/repository/SeriesRepository.scala +++ b/audio-api/src/main/scala/no/ndla/audioapi/repository/SeriesRepository.scala @@ -13,17 +13,17 @@ import no.ndla.audioapi.integration.DataSource import no.ndla.audioapi.model.domain.{AudioMetaInformation, Series} import no.ndla.audioapi.model.domain import org.postgresql.util.PGobject -import scalikejdbc.{DBSession, ReadOnlyAutoSession, *} +import scalikejdbc.* import cats.implicits.* import no.ndla.audioapi.Props -import no.ndla.audioapi.model.api.ErrorHelpers +import no.ndla.audioapi.model.api.ErrorHandling import no.ndla.common.CirceUtil import no.ndla.common.model.NDLADate import scala.util.{Failure, Success, Try} trait SeriesRepository { - this: DataSource with Props with ErrorHelpers => + this: DataSource with Props with ErrorHandling => val seriesRepository: SeriesRepository class SeriesRepository extends StrictLogging with Repository[Series] { diff --git a/audio-api/src/main/scala/no/ndla/audioapi/service/search/AudioSearchService.scala b/audio-api/src/main/scala/no/ndla/audioapi/service/search/AudioSearchService.scala index 4311f1524c..509a97e163 100644 --- a/audio-api/src/main/scala/no/ndla/audioapi/service/search/AudioSearchService.scala +++ b/audio-api/src/main/scala/no/ndla/audioapi/service/search/AudioSearchService.scala @@ -12,7 +12,7 @@ import com.sksamuel.elastic4s.ElasticDsl.* import com.sksamuel.elastic4s.requests.searches.queries.compound.BoolQuery import com.typesafe.scalalogging.StrictLogging import no.ndla.audioapi.Props -import no.ndla.audioapi.model.api.ErrorHelpers +import no.ndla.audioapi.model.api.ErrorHandling import no.ndla.audioapi.model.domain.SearchSettings import no.ndla.audioapi.model.search.SearchableAudioInformation import no.ndla.audioapi.model.{api, domain} @@ -31,7 +31,7 @@ trait AudioSearchService { with SearchConverterService with SearchService with Props - with ErrorHelpers => + with ErrorHandling => val audioSearchService: AudioSearchService class AudioSearchService extends StrictLogging with SearchService[api.AudioSummary] { diff --git a/audio-api/src/main/scala/no/ndla/audioapi/service/search/SeriesSearchService.scala b/audio-api/src/main/scala/no/ndla/audioapi/service/search/SeriesSearchService.scala index 81b898761b..2eab3e87ea 100644 --- a/audio-api/src/main/scala/no/ndla/audioapi/service/search/SeriesSearchService.scala +++ b/audio-api/src/main/scala/no/ndla/audioapi/service/search/SeriesSearchService.scala @@ -12,7 +12,7 @@ import com.sksamuel.elastic4s.ElasticDsl.* import com.sksamuel.elastic4s.requests.searches.queries.compound.BoolQuery import com.typesafe.scalalogging.StrictLogging import no.ndla.audioapi.Props -import no.ndla.audioapi.model.api.ErrorHelpers +import no.ndla.audioapi.model.api.ErrorHandling import no.ndla.audioapi.model.domain.SeriesSearchSettings import no.ndla.audioapi.model.search.SearchableSeries import no.ndla.audioapi.model.{api, domain} @@ -33,7 +33,7 @@ trait SeriesSearchService { with SearchService with ConverterService with Props - with ErrorHelpers => + with ErrorHandling => val seriesSearchService: SeriesSearchService class SeriesSearchService extends StrictLogging with SearchService[api.SeriesSummary] { diff --git a/audio-api/src/main/scala/no/ndla/audioapi/service/search/TagSearchService.scala b/audio-api/src/main/scala/no/ndla/audioapi/service/search/TagSearchService.scala index b5270084f4..dca90aba69 100644 --- a/audio-api/src/main/scala/no/ndla/audioapi/service/search/TagSearchService.scala +++ b/audio-api/src/main/scala/no/ndla/audioapi/service/search/TagSearchService.scala @@ -12,7 +12,7 @@ import com.sksamuel.elastic4s.requests.searches.queries.compound.BoolQuery import com.sksamuel.elastic4s.requests.searches.sort.SortOrder import com.typesafe.scalalogging.StrictLogging import no.ndla.audioapi.Props -import no.ndla.audioapi.model.api.ErrorHelpers +import no.ndla.audioapi.model.api.ErrorHandling import no.ndla.audioapi.model.domain.{SearchResult, SearchableTag} import no.ndla.common.CirceUtil import no.ndla.language.model.Iso639 @@ -29,7 +29,7 @@ trait TagSearchService { with TagIndexService with SearchConverterService with Props - with ErrorHelpers => + with ErrorHandling => val tagSearchService: TagSearchService class TagSearchService extends StrictLogging with SearchService[String] { diff --git a/audio-api/src/test/scala/no/ndla/audioapi/TestEnvironment.scala b/audio-api/src/test/scala/no/ndla/audioapi/TestEnvironment.scala index dd1ecdbb26..e166f258c6 100644 --- a/audio-api/src/test/scala/no/ndla/audioapi/TestEnvironment.scala +++ b/audio-api/src/test/scala/no/ndla/audioapi/TestEnvironment.scala @@ -11,7 +11,7 @@ package no.ndla.audioapi import com.zaxxer.hikari.HikariDataSource import no.ndla.audioapi.controller.{AudioController, HealthController, InternController, SeriesController} import no.ndla.audioapi.integration.* -import no.ndla.audioapi.model.api.ErrorHelpers +import no.ndla.audioapi.model.api.ErrorHandling import no.ndla.audioapi.repository.{AudioRepository, SeriesRepository} import no.ndla.audioapi.service.* import no.ndla.audioapi.service.search.* @@ -51,7 +51,7 @@ trait TestEnvironment with MockitoSugar with Clock with Props - with ErrorHelpers { + with ErrorHandling { override val props: AudioApiProperties = new AudioApiProperties val dataSource: HikariDataSource = mock[HikariDataSource] diff --git a/concept-api/src/main/scala/no/ndla/conceptapi/ComponentRegistry.scala b/concept-api/src/main/scala/no/ndla/conceptapi/ComponentRegistry.scala index 8ea6510e45..3d284b05b1 100644 --- a/concept-api/src/main/scala/no/ndla/conceptapi/ComponentRegistry.scala +++ b/concept-api/src/main/scala/no/ndla/conceptapi/ComponentRegistry.scala @@ -11,7 +11,7 @@ import com.typesafe.scalalogging.StrictLogging import com.zaxxer.hikari.HikariDataSource import no.ndla.conceptapi.controller.* import no.ndla.conceptapi.integration.{ArticleApiClient, DataSource, SearchApiClient, TaxonomyApiClient} -import no.ndla.conceptapi.model.api.ErrorHelpers +import no.ndla.conceptapi.model.api.ErrorHandling import no.ndla.conceptapi.model.search.{DraftSearchSettingsHelper, SearchSettingsHelper} import no.ndla.conceptapi.repository.{DraftConceptRepository, PublishedConceptRepository} import no.ndla.conceptapi.service.search.* @@ -54,7 +54,7 @@ class ComponentRegistry(properties: ConceptApiProperties) with NdlaClient with Props with DBMigrator - with ErrorHelpers + with ErrorHandling with SearchSettingsHelper with DraftSearchSettingsHelper with TaxonomyApiClient diff --git a/concept-api/src/main/scala/no/ndla/conceptapi/controller/DraftConceptController.scala b/concept-api/src/main/scala/no/ndla/conceptapi/controller/DraftConceptController.scala index f773e89afc..ea192abbdd 100644 --- a/concept-api/src/main/scala/no/ndla/conceptapi/controller/DraftConceptController.scala +++ b/concept-api/src/main/scala/no/ndla/conceptapi/controller/DraftConceptController.scala @@ -38,7 +38,7 @@ trait DraftConceptController { with ConverterService with Props with ConceptControllerHelpers - with ErrorHelpers + with ErrorHandling with TapirController => val draftConceptController: DraftConceptController diff --git a/concept-api/src/main/scala/no/ndla/conceptapi/controller/InternController.scala b/concept-api/src/main/scala/no/ndla/conceptapi/controller/InternController.scala index 2d6607074c..03e1db3a35 100644 --- a/concept-api/src/main/scala/no/ndla/conceptapi/controller/InternController.scala +++ b/concept-api/src/main/scala/no/ndla/conceptapi/controller/InternController.scala @@ -9,7 +9,7 @@ package no.ndla.conceptapi.controller import cats.implicits.* import no.ndla.common.model.domain.concept.Concept -import no.ndla.conceptapi.model.api.{ConceptDomainDump, ConceptImportResults, ErrorHelpers, NotFoundException} +import no.ndla.conceptapi.model.api.{ConceptDomainDump, ConceptImportResults, ErrorHandling, NotFoundException} import no.ndla.conceptapi.repository.{DraftConceptRepository, PublishedConceptRepository} import no.ndla.conceptapi.service.search.{DraftConceptIndexService, IndexService, PublishedConceptIndexService} import no.ndla.conceptapi.service.{ConverterService, ImportService, ReadService} @@ -29,7 +29,7 @@ import sttp.tapir.generic.auto.* trait InternController { this: IndexService & DraftConceptIndexService & PublishedConceptIndexService & ImportService & ConverterService & - ReadService & DraftConceptRepository & PublishedConceptRepository & ErrorHelpers & TapirController => + ReadService & DraftConceptRepository & PublishedConceptRepository & ErrorHandling & TapirController => val internController: InternController class InternController extends TapirController { diff --git a/concept-api/src/main/scala/no/ndla/conceptapi/controller/PublishedConceptController.scala b/concept-api/src/main/scala/no/ndla/conceptapi/controller/PublishedConceptController.scala index ad29e6f6cf..e8c8c306ab 100644 --- a/concept-api/src/main/scala/no/ndla/conceptapi/controller/PublishedConceptController.scala +++ b/concept-api/src/main/scala/no/ndla/conceptapi/controller/PublishedConceptController.scala @@ -34,7 +34,7 @@ trait PublishedConceptController { with SearchConverterService with Props with ConceptControllerHelpers - with ErrorHelpers + with ErrorHandling with TapirController => val publishedConceptController: PublishedConceptController diff --git a/concept-api/src/main/scala/no/ndla/conceptapi/model/api/NDLAErrors.scala b/concept-api/src/main/scala/no/ndla/conceptapi/model/api/NDLAErrors.scala index 615bb1602a..4928b5b29a 100644 --- a/concept-api/src/main/scala/no/ndla/conceptapi/model/api/NDLAErrors.scala +++ b/concept-api/src/main/scala/no/ndla/conceptapi/model/api/NDLAErrors.scala @@ -12,11 +12,11 @@ import no.ndla.common.errors.{AccessDeniedException, ValidationException} import no.ndla.conceptapi.Props import no.ndla.conceptapi.integration.DataSource import no.ndla.network.model.HttpRequestException -import no.ndla.network.tapir.{AllErrors, TapirErrorHelpers} +import no.ndla.network.tapir.{AllErrors, TapirErrorHandling} import no.ndla.search.{IndexNotFoundException, NdlaSearchException} import org.postgresql.util.PSQLException -trait ErrorHelpers extends TapirErrorHelpers { +trait ErrorHandling extends TapirErrorHandling { this: Props & Clock & DataSource => import ConceptErrorHelpers.* diff --git a/concept-api/src/main/scala/no/ndla/conceptapi/repository/DraftConceptRepository.scala b/concept-api/src/main/scala/no/ndla/conceptapi/repository/DraftConceptRepository.scala index d306a97f82..bd4a25dd55 100644 --- a/concept-api/src/main/scala/no/ndla/conceptapi/repository/DraftConceptRepository.scala +++ b/concept-api/src/main/scala/no/ndla/conceptapi/repository/DraftConceptRepository.scala @@ -13,7 +13,7 @@ import no.ndla.common.model.domain.Tag import no.ndla.common.model.domain.concept.Concept import no.ndla.conceptapi.Props import no.ndla.conceptapi.integration.DataSource -import no.ndla.conceptapi.model.api.{ConceptMissingIdException, ErrorHelpers, NotFoundException} +import no.ndla.conceptapi.model.api.{ConceptMissingIdException, ErrorHandling, NotFoundException} import no.ndla.conceptapi.model.domain.DBConcept import org.postgresql.util.PGobject import scalikejdbc.* @@ -21,7 +21,7 @@ import scalikejdbc.* import scala.util.{Failure, Success, Try} trait DraftConceptRepository { - this: DataSource with Props with ErrorHelpers => + this: DataSource with Props with ErrorHandling => val draftConceptRepository: DraftConceptRepository class DraftConceptRepository extends StrictLogging with Repository[Concept] { diff --git a/concept-api/src/main/scala/no/ndla/conceptapi/service/StateTransitionRules.scala b/concept-api/src/main/scala/no/ndla/conceptapi/service/StateTransitionRules.scala index fb89cda07a..83a77321ef 100644 --- a/concept-api/src/main/scala/no/ndla/conceptapi/service/StateTransitionRules.scala +++ b/concept-api/src/main/scala/no/ndla/conceptapi/service/StateTransitionRules.scala @@ -9,7 +9,7 @@ package no.ndla.conceptapi.service import no.ndla.common.model.domain.concept.{ConceptEditorNote, ConceptStatus, Status, Concept as DomainConcept} import no.ndla.common.model.domain.{Responsible, concept} -import no.ndla.conceptapi.model.api.ErrorHelpers +import no.ndla.conceptapi.model.api.ErrorHandling import no.ndla.common.model.domain.concept.ConceptStatus.* import no.ndla.conceptapi.model.domain.SideEffect.SideEffect import no.ndla.conceptapi.model.domain.StateTransition @@ -25,7 +25,7 @@ import scala.util.{Failure, Success, Try} trait StateTransitionRules { this: WriteService & DraftConceptRepository & PublishedConceptRepository & WriteService & ConverterService & - ContentValidator & DraftConceptIndexService & PublishedConceptRepository & ErrorHelpers & Clock => + ContentValidator & DraftConceptIndexService & PublishedConceptRepository & ErrorHandling & Clock => object StateTransitionRules { diff --git a/concept-api/src/main/scala/no/ndla/conceptapi/service/search/DraftConceptSearchService.scala b/concept-api/src/main/scala/no/ndla/conceptapi/service/search/DraftConceptSearchService.scala index 1273f48424..427a6affa8 100644 --- a/concept-api/src/main/scala/no/ndla/conceptapi/service/search/DraftConceptSearchService.scala +++ b/concept-api/src/main/scala/no/ndla/conceptapi/service/search/DraftConceptSearchService.scala @@ -14,7 +14,7 @@ import com.typesafe.scalalogging.StrictLogging import no.ndla.common.model.domain.concept.ConceptStatus import no.ndla.conceptapi.Props import no.ndla.conceptapi.model.api -import no.ndla.conceptapi.model.api.{ErrorHelpers, OperationNotAllowedException, SubjectTags} +import no.ndla.conceptapi.model.api.{ErrorHandling, OperationNotAllowedException, SubjectTags} import no.ndla.conceptapi.model.domain.SearchResult import no.ndla.conceptapi.model.search.{DraftSearchSettings, DraftSearchSettingsHelper} import no.ndla.conceptapi.service.ConverterService @@ -36,7 +36,7 @@ trait DraftConceptSearchService { with ConverterService with SearchConverterService with Props - with ErrorHelpers + with ErrorHandling with DraftSearchSettingsHelper => val draftConceptSearchService: DraftConceptSearchService diff --git a/concept-api/src/main/scala/no/ndla/conceptapi/service/search/PublishedConceptSearchService.scala b/concept-api/src/main/scala/no/ndla/conceptapi/service/search/PublishedConceptSearchService.scala index 0018fee104..a6ebd93cc2 100644 --- a/concept-api/src/main/scala/no/ndla/conceptapi/service/search/PublishedConceptSearchService.scala +++ b/concept-api/src/main/scala/no/ndla/conceptapi/service/search/PublishedConceptSearchService.scala @@ -14,7 +14,7 @@ import com.sksamuel.elastic4s.requests.searches.queries.compound.BoolQuery import com.typesafe.scalalogging.StrictLogging import no.ndla.conceptapi.Props import no.ndla.conceptapi.model.api -import no.ndla.conceptapi.model.api.{ErrorHelpers, OperationNotAllowedException, SubjectTags} +import no.ndla.conceptapi.model.api.{ErrorHandling, OperationNotAllowedException, SubjectTags} import no.ndla.conceptapi.model.domain.SearchResult import no.ndla.conceptapi.model.search.{SearchSettings, SearchSettingsHelper} import no.ndla.conceptapi.service.ConverterService @@ -37,7 +37,7 @@ trait PublishedConceptSearchService { with ConverterService with SearchConverterService with Props - with ErrorHelpers + with ErrorHandling with SearchSettingsHelper => val publishedConceptSearchService: PublishedConceptSearchService diff --git a/concept-api/src/test/scala/no/ndla/conceptapi/TestEnvironment.scala b/concept-api/src/test/scala/no/ndla/conceptapi/TestEnvironment.scala index a773fe6d8a..793b91449b 100644 --- a/concept-api/src/test/scala/no/ndla/conceptapi/TestEnvironment.scala +++ b/concept-api/src/test/scala/no/ndla/conceptapi/TestEnvironment.scala @@ -17,7 +17,7 @@ import no.ndla.conceptapi.controller.{ PublishedConceptController } import no.ndla.conceptapi.integration.{ArticleApiClient, DataSource, SearchApiClient, TaxonomyApiClient} -import no.ndla.conceptapi.model.api.ErrorHelpers +import no.ndla.conceptapi.model.api.ErrorHandling import no.ndla.conceptapi.model.search.{DraftSearchSettingsHelper, SearchSettingsHelper} import no.ndla.conceptapi.repository.{DraftConceptRepository, PublishedConceptRepository} import no.ndla.conceptapi.service.* @@ -59,7 +59,7 @@ trait TestEnvironment with NdlaClient with Clock with Props - with ErrorHelpers + with ErrorHandling with SearchSettingsHelper with DraftSearchSettingsHelper with DBMigrator diff --git a/draft-api/src/main/scala/no/ndla/draftapi/ComponentRegistry.scala b/draft-api/src/main/scala/no/ndla/draftapi/ComponentRegistry.scala index 9dc8e7b127..5c9bc6433e 100644 --- a/draft-api/src/main/scala/no/ndla/draftapi/ComponentRegistry.scala +++ b/draft-api/src/main/scala/no/ndla/draftapi/ComponentRegistry.scala @@ -16,7 +16,7 @@ import no.ndla.draftapi.caching.MemoizeHelpers import no.ndla.draftapi.controller.* import no.ndla.draftapi.db.migrationwithdependencies.V57__MigrateSavedSearch import no.ndla.draftapi.integration.* -import no.ndla.draftapi.model.api.ErrorHelpers +import no.ndla.draftapi.model.api.ErrorHandling import no.ndla.draftapi.repository.{DraftRepository, UserDataRepository} import no.ndla.draftapi.service.* import no.ndla.draftapi.service.search.* @@ -66,7 +66,7 @@ class ComponentRegistry(properties: DraftApiProperties) with UserDataController with Props with DBMigrator - with ErrorHelpers + with ErrorHandling with SwaggerDocControllerConfig with V57__MigrateSavedSearch { override val props: DraftApiProperties = properties diff --git a/draft-api/src/main/scala/no/ndla/draftapi/controller/DraftController.scala b/draft-api/src/main/scala/no/ndla/draftapi/controller/DraftController.scala index e6e694f895..78027d73e4 100644 --- a/draft-api/src/main/scala/no/ndla/draftapi/controller/DraftController.scala +++ b/draft-api/src/main/scala/no/ndla/draftapi/controller/DraftController.scala @@ -36,7 +36,7 @@ import scala.util.{Failure, Success, Try} trait DraftController { this: ReadService & WriteService & ArticleSearchService & SearchConverterService & ConverterService & - ContentValidator & Props & ErrorHelpers & TapirController => + ContentValidator & Props & ErrorHandling & TapirController => val draftController: DraftController class DraftController extends TapirController { diff --git a/draft-api/src/main/scala/no/ndla/draftapi/controller/FileController.scala b/draft-api/src/main/scala/no/ndla/draftapi/controller/FileController.scala index 7ae73d4c6f..3a633b9b40 100644 --- a/draft-api/src/main/scala/no/ndla/draftapi/controller/FileController.scala +++ b/draft-api/src/main/scala/no/ndla/draftapi/controller/FileController.scala @@ -28,7 +28,7 @@ import java.io.File import scala.util.{Failure, Success, Try} trait FileController { - this: WriteService with ErrorHelpers with Props with TapirController => + this: WriteService with ErrorHandling with Props with TapirController => val fileController: FileController class FileController extends TapirController { diff --git a/draft-api/src/main/scala/no/ndla/draftapi/controller/InternController.scala b/draft-api/src/main/scala/no/ndla/draftapi/controller/InternController.scala index 0faab33a58..ad04435fcc 100644 --- a/draft-api/src/main/scala/no/ndla/draftapi/controller/InternController.scala +++ b/draft-api/src/main/scala/no/ndla/draftapi/controller/InternController.scala @@ -21,7 +21,7 @@ import cats.implicits.* import com.typesafe.scalalogging.StrictLogging import no.ndla.network.tapir.NoNullJsonPrinter.* import no.ndla.network.tapir.TapirUtil.errorOutputsFor -import no.ndla.network.tapir.{TapirController, TapirErrorHelpers} +import no.ndla.network.tapir.TapirController import no.ndla.network.tapir.auth.Permission.DRAFT_API_WRITE import no.ndla.network.tapir.auth.TokenUser import scalikejdbc.ReadOnlyAutoSession @@ -46,7 +46,6 @@ trait InternController { with TagIndexService with GrepCodesIndexService with ArticleApiClient - with TapirErrorHelpers with TapirController with Props => val internController: InternController diff --git a/draft-api/src/main/scala/no/ndla/draftapi/controller/UserDataController.scala b/draft-api/src/main/scala/no/ndla/draftapi/controller/UserDataController.scala index 10918ba35e..40eddd6ad0 100644 --- a/draft-api/src/main/scala/no/ndla/draftapi/controller/UserDataController.scala +++ b/draft-api/src/main/scala/no/ndla/draftapi/controller/UserDataController.scala @@ -8,7 +8,7 @@ package no.ndla.draftapi.controller import io.circe.generic.auto.* -import no.ndla.draftapi.model.api.{ErrorHelpers, UpdatedUserData, UserData} +import no.ndla.draftapi.model.api.{ErrorHandling, UpdatedUserData, UserData} import no.ndla.draftapi.service.{ReadService, WriteService} import no.ndla.network.tapir.NoNullJsonPrinter.* import no.ndla.network.tapir.TapirController @@ -19,7 +19,7 @@ import sttp.tapir.generic.auto.* import sttp.tapir.server.ServerEndpoint trait UserDataController { - this: ReadService with WriteService with ErrorHelpers with TapirController => + this: ReadService with WriteService with ErrorHandling with TapirController => val userDataController: UserDataController class UserDataController extends TapirController { diff --git a/draft-api/src/main/scala/no/ndla/draftapi/model/api/NDLAErrors.scala b/draft-api/src/main/scala/no/ndla/draftapi/model/api/NDLAErrors.scala index 027663b552..1283537e96 100644 --- a/draft-api/src/main/scala/no/ndla/draftapi/model/api/NDLAErrors.scala +++ b/draft-api/src/main/scala/no/ndla/draftapi/model/api/NDLAErrors.scala @@ -7,29 +7,20 @@ package no.ndla.draftapi.model.api +import com.typesafe.scalalogging.StrictLogging import no.ndla.common.Clock import no.ndla.common.errors.{AccessDeniedException, FileTooBigException, ValidationException} import no.ndla.draftapi.Props import no.ndla.draftapi.integration.DataSource import no.ndla.network.model.HttpRequestException -import no.ndla.network.tapir.{AllErrors, ErrorBody, TapirErrorHelpers} +import no.ndla.network.tapir.{AllErrors, ErrorBody, TapirErrorHandling} import no.ndla.search.{IndexNotFoundException, NdlaSearchException} import org.postgresql.util.PSQLException -import sttp.tapir.Schema.annotations.description -import java.time.LocalDateTime +trait ErrorHandling extends TapirErrorHandling with StrictLogging { + this: Props & Clock & DataSource => -@description("Information about an error") -case class Error( - @description("Code stating the type of error") code: String, - @description("Description of the error") description: String, - @description("When the error occured") occuredAt: LocalDateTime = LocalDateTime.now() -) - -trait ErrorHelpers extends TapirErrorHelpers { - this: Props with Clock with DataSource => - - import ErrorHelpers._ + import ErrorHelpers.* override def handleErrors: PartialFunction[Throwable, AllErrors] = { case a: AccessDeniedException if a.unauthorized => ErrorBody(ACCESS_DENIED, a.getMessage, clock.now(), 401) diff --git a/draft-api/src/main/scala/no/ndla/draftapi/repository/DraftRepository.scala b/draft-api/src/main/scala/no/ndla/draftapi/repository/DraftRepository.scala index 3118b6a0c9..64ef7e28ec 100644 --- a/draft-api/src/main/scala/no/ndla/draftapi/repository/DraftRepository.scala +++ b/draft-api/src/main/scala/no/ndla/draftapi/repository/DraftRepository.scala @@ -13,7 +13,7 @@ import no.ndla.common.errors.RollbackException import no.ndla.common.model.domain.{ArticleType, EditorNote, Priority} import no.ndla.common.model.domain.draft.{Draft, DraftStatus} import no.ndla.draftapi.integration.DataSource -import no.ndla.draftapi.model.api.{ArticleVersioningException, ErrorHelpers, GenerateIDException, NotFoundException} +import no.ndla.draftapi.model.api.{ArticleVersioningException, ErrorHandling, GenerateIDException, NotFoundException} import no.ndla.draftapi.model.domain.* import no.ndla.network.tapir.auth.TokenUser import org.postgresql.util.PGobject @@ -23,7 +23,7 @@ import java.util.UUID import scala.util.{Failure, Success, Try} trait DraftRepository { - this: DataSource with ErrorHelpers with Clock => + this: DataSource with ErrorHandling with Clock => val draftRepository: ArticleRepository class ArticleRepository extends StrictLogging with Repository[Draft] { diff --git a/draft-api/src/main/scala/no/ndla/draftapi/service/StateTransitionRules.scala b/draft-api/src/main/scala/no/ndla/draftapi/service/StateTransitionRules.scala index 15aedb9ee9..13a70a1fc0 100644 --- a/draft-api/src/main/scala/no/ndla/draftapi/service/StateTransitionRules.scala +++ b/draft-api/src/main/scala/no/ndla/draftapi/service/StateTransitionRules.scala @@ -14,7 +14,7 @@ import no.ndla.common.model.domain.draft.DraftStatus._ import no.ndla.common.model.domain.draft.{Draft, DraftStatus} import no.ndla.common.model.{domain => common} import no.ndla.draftapi.integration._ -import no.ndla.draftapi.model.api.{ErrorHelpers, NotFoundException} +import no.ndla.draftapi.model.api.{ErrorHandling, NotFoundException} import no.ndla.draftapi.model.domain.{IgnoreFunction, StateTransition} import no.ndla.draftapi.repository.DraftRepository import no.ndla.draftapi.service.search.ArticleIndexService @@ -37,7 +37,7 @@ trait StateTransitionRules { with ConverterService with ContentValidator with ArticleIndexService - with ErrorHelpers + with ErrorHandling with SearchApiClient => object StateTransitionRules { diff --git a/draft-api/src/main/scala/no/ndla/draftapi/service/search/ArticleSearchService.scala b/draft-api/src/main/scala/no/ndla/draftapi/service/search/ArticleSearchService.scala index 19de671b1d..de9e5137fe 100644 --- a/draft-api/src/main/scala/no/ndla/draftapi/service/search/ArticleSearchService.scala +++ b/draft-api/src/main/scala/no/ndla/draftapi/service/search/ArticleSearchService.scala @@ -12,7 +12,7 @@ import com.sksamuel.elastic4s.requests.searches.queries.compound.BoolQuery import com.typesafe.scalalogging.StrictLogging import no.ndla.draftapi.Props import no.ndla.draftapi.model.api -import no.ndla.draftapi.model.api.ErrorHelpers +import no.ndla.draftapi.model.api.ErrorHandling import no.ndla.draftapi.model.domain._ import no.ndla.language.Language import no.ndla.search.Elastic4sClient @@ -28,7 +28,7 @@ trait ArticleSearchService { with ArticleIndexService with SearchConverterService with Props - with ErrorHelpers => + with ErrorHandling => val articleSearchService: ArticleSearchService class ArticleSearchService extends StrictLogging with SearchService[api.ArticleSummary] { diff --git a/draft-api/src/main/scala/no/ndla/draftapi/service/search/GrepCodesSearchService.scala b/draft-api/src/main/scala/no/ndla/draftapi/service/search/GrepCodesSearchService.scala index f9c74ea1ad..443ebda315 100644 --- a/draft-api/src/main/scala/no/ndla/draftapi/service/search/GrepCodesSearchService.scala +++ b/draft-api/src/main/scala/no/ndla/draftapi/service/search/GrepCodesSearchService.scala @@ -14,7 +14,7 @@ import com.sksamuel.elastic4s.requests.searches.sort.SortOrder import com.typesafe.scalalogging.StrictLogging import no.ndla.common.CirceUtil import no.ndla.draftapi.Props -import no.ndla.draftapi.model.api.ErrorHelpers +import no.ndla.draftapi.model.api.ErrorHandling import no.ndla.draftapi.model.domain.* import no.ndla.draftapi.model.search.SearchableGrepCode import no.ndla.search.Elastic4sClient @@ -30,7 +30,7 @@ trait GrepCodesSearchService { with GrepCodesIndexService with SearchConverterService with Props - with ErrorHelpers => + with ErrorHandling => val grepCodesSearchService: GrepCodesSearchService class GrepCodesSearchService extends StrictLogging with BasicSearchService[String] { diff --git a/draft-api/src/main/scala/no/ndla/draftapi/service/search/TagSearchService.scala b/draft-api/src/main/scala/no/ndla/draftapi/service/search/TagSearchService.scala index d810958de5..c3bdd230bd 100644 --- a/draft-api/src/main/scala/no/ndla/draftapi/service/search/TagSearchService.scala +++ b/draft-api/src/main/scala/no/ndla/draftapi/service/search/TagSearchService.scala @@ -14,7 +14,7 @@ import com.sksamuel.elastic4s.requests.searches.sort.SortOrder import com.typesafe.scalalogging.StrictLogging import no.ndla.common.CirceUtil import no.ndla.draftapi.Props -import no.ndla.draftapi.model.api.ErrorHelpers +import no.ndla.draftapi.model.api.ErrorHandling import no.ndla.draftapi.model.domain.* import no.ndla.draftapi.model.search.SearchableTag import no.ndla.language.Language @@ -30,7 +30,7 @@ trait TagSearchService { with TagIndexService with SearchConverterService with Props - with ErrorHelpers => + with ErrorHandling => val tagSearchService: TagSearchService class TagSearchService extends StrictLogging with SearchService[String] { diff --git a/draft-api/src/test/scala/no/ndla/draftapi/TestEnvironment.scala b/draft-api/src/test/scala/no/ndla/draftapi/TestEnvironment.scala index bc85152dcd..260d5236e3 100644 --- a/draft-api/src/test/scala/no/ndla/draftapi/TestEnvironment.scala +++ b/draft-api/src/test/scala/no/ndla/draftapi/TestEnvironment.scala @@ -15,7 +15,7 @@ import no.ndla.draftapi.caching.MemoizeHelpers import no.ndla.draftapi.controller.* import no.ndla.draftapi.db.migrationwithdependencies.V57__MigrateSavedSearch import no.ndla.draftapi.integration.* -import no.ndla.draftapi.model.api.ErrorHelpers +import no.ndla.draftapi.model.api.ErrorHandling import no.ndla.draftapi.repository.{DraftRepository, UserDataRepository} import no.ndla.draftapi.service.* import no.ndla.draftapi.service.search.* @@ -63,7 +63,7 @@ trait TestEnvironment with UUIDUtil with ArticleApiClient with SearchApiClient - with ErrorHelpers + with ErrorHandling with MemoizeHelpers with DBMigrator with Props diff --git a/frontpage-api/src/main/scala/no/ndla/frontpageapi/ComponentRegistry.scala b/frontpage-api/src/main/scala/no/ndla/frontpageapi/ComponentRegistry.scala index 308cb14c73..81efb0e9bd 100644 --- a/frontpage-api/src/main/scala/no/ndla/frontpageapi/ComponentRegistry.scala +++ b/frontpage-api/src/main/scala/no/ndla/frontpageapi/ComponentRegistry.scala @@ -11,7 +11,7 @@ import com.zaxxer.hikari.HikariDataSource import no.ndla.common.Clock import no.ndla.frontpageapi.controller.* import no.ndla.frontpageapi.integration.DataSource -import no.ndla.frontpageapi.model.api.ErrorHelpers +import no.ndla.frontpageapi.model.api.ErrorHandling import no.ndla.frontpageapi.model.domain.{DBFilmFrontPageData, DBFrontPageData, DBSubjectFrontPageData} import no.ndla.frontpageapi.repository.{FilmFrontPageRepository, FrontPageRepository, SubjectPageRepository} import no.ndla.frontpageapi.service.{ConverterService, ReadService, WriteService} @@ -32,7 +32,7 @@ class ComponentRegistry(properties: FrontpageApiProperties) with DBFilmFrontPageData with DBSubjectFrontPageData with DBFrontPageData - with ErrorHelpers + with ErrorHandling with Clock with Props with DBMigrator diff --git a/frontpage-api/src/main/scala/no/ndla/frontpageapi/controller/FilmPageController.scala b/frontpage-api/src/main/scala/no/ndla/frontpageapi/controller/FilmPageController.scala index b6bbb43f47..ae36f3482f 100644 --- a/frontpage-api/src/main/scala/no/ndla/frontpageapi/controller/FilmPageController.scala +++ b/frontpage-api/src/main/scala/no/ndla/frontpageapi/controller/FilmPageController.scala @@ -20,7 +20,7 @@ import sttp.tapir.generic.auto.* import sttp.tapir.server.ServerEndpoint trait FilmPageController { - this: ReadService with WriteService with ErrorHelpers with TapirController => + this: ReadService with WriteService with ErrorHandling with TapirController => val filmPageController: FilmPageController class FilmPageController extends TapirController { diff --git a/frontpage-api/src/main/scala/no/ndla/frontpageapi/controller/FrontPageController.scala b/frontpage-api/src/main/scala/no/ndla/frontpageapi/controller/FrontPageController.scala index 4042691f4e..afe53a78b1 100644 --- a/frontpage-api/src/main/scala/no/ndla/frontpageapi/controller/FrontPageController.scala +++ b/frontpage-api/src/main/scala/no/ndla/frontpageapi/controller/FrontPageController.scala @@ -20,7 +20,7 @@ import sttp.tapir.generic.auto.* import sttp.tapir.server.ServerEndpoint trait FrontPageController { - this: ReadService with WriteService with ErrorHelpers with TapirController => + this: ReadService with WriteService with ErrorHandling with TapirController => val frontPageController: FrontPageController class FrontPageController() extends TapirController { diff --git a/frontpage-api/src/main/scala/no/ndla/frontpageapi/controller/InternController.scala b/frontpage-api/src/main/scala/no/ndla/frontpageapi/controller/InternController.scala index 9e4778512c..356d5ee545 100644 --- a/frontpage-api/src/main/scala/no/ndla/frontpageapi/controller/InternController.scala +++ b/frontpage-api/src/main/scala/no/ndla/frontpageapi/controller/InternController.scala @@ -22,7 +22,7 @@ import sttp.tapir.server.ServerEndpoint import scala.util.{Failure, Success} trait InternController { - this: ReadService & WriteService & Props & ErrorHelpers & TapirController => + this: ReadService & WriteService & Props & ErrorHandling & TapirController => val internController: InternController class InternController extends TapirController { diff --git a/frontpage-api/src/main/scala/no/ndla/frontpageapi/controller/SubjectPageController.scala b/frontpage-api/src/main/scala/no/ndla/frontpageapi/controller/SubjectPageController.scala index b504b072ba..5570252964 100644 --- a/frontpage-api/src/main/scala/no/ndla/frontpageapi/controller/SubjectPageController.scala +++ b/frontpage-api/src/main/scala/no/ndla/frontpageapi/controller/SubjectPageController.scala @@ -11,7 +11,7 @@ import io.circe.generic.auto.* import no.ndla.common.model.api.CommaSeparatedList.* import no.ndla.frontpageapi.Props import no.ndla.frontpageapi.model.api.{ - ErrorHelpers, + ErrorHandling, NewSubjectFrontPageData, SubjectPageData, UpdatedSubjectFrontPageData @@ -27,7 +27,7 @@ import sttp.tapir.generic.auto.* import sttp.tapir.server.ServerEndpoint trait SubjectPageController { - this: ReadService & WriteService & Props & ErrorHelpers & TapirController => + this: ReadService & WriteService & Props & ErrorHandling & TapirController => val subjectPageController: SubjectPageController class SubjectPageController extends TapirController { diff --git a/frontpage-api/src/main/scala/no/ndla/frontpageapi/model/api/ErrorHelpers.scala b/frontpage-api/src/main/scala/no/ndla/frontpageapi/model/api/ErrorHandling.scala similarity index 87% rename from frontpage-api/src/main/scala/no/ndla/frontpageapi/model/api/ErrorHelpers.scala rename to frontpage-api/src/main/scala/no/ndla/frontpageapi/model/api/ErrorHandling.scala index a4455ebcf3..d44e47c485 100644 --- a/frontpage-api/src/main/scala/no/ndla/frontpageapi/model/api/ErrorHelpers.scala +++ b/frontpage-api/src/main/scala/no/ndla/frontpageapi/model/api/ErrorHandling.scala @@ -15,9 +15,9 @@ import no.ndla.frontpageapi.model.domain.Errors.{ SubjectPageNotFoundException, ValidationException } -import no.ndla.network.tapir.{ErrorBody, TapirErrorHelpers} +import no.ndla.network.tapir.{ErrorBody, TapirErrorHandling} -trait ErrorHelpers extends TapirErrorHelpers { +trait ErrorHandling extends TapirErrorHandling { this: Props with Clock => import ErrorHelpers._ diff --git a/frontpage-api/src/test/scala/no/ndla/frontpageapi/TestEnvironment.scala b/frontpage-api/src/test/scala/no/ndla/frontpageapi/TestEnvironment.scala index 29cf6968b0..e3207bc0f0 100644 --- a/frontpage-api/src/test/scala/no/ndla/frontpageapi/TestEnvironment.scala +++ b/frontpage-api/src/test/scala/no/ndla/frontpageapi/TestEnvironment.scala @@ -11,7 +11,7 @@ import com.zaxxer.hikari.HikariDataSource import no.ndla.common.Clock import no.ndla.frontpageapi.controller.{FilmPageController, FrontPageController, SubjectPageController} import no.ndla.frontpageapi.integration.DataSource -import no.ndla.frontpageapi.model.api.ErrorHelpers +import no.ndla.frontpageapi.model.api.ErrorHandling import no.ndla.frontpageapi.model.domain.{DBFilmFrontPageData, DBFrontPageData, DBSubjectFrontPageData} import no.ndla.frontpageapi.repository.{FilmFrontPageRepository, FrontPageRepository, SubjectPageRepository} import no.ndla.frontpageapi.service.{ConverterService, ReadService, WriteService} @@ -35,7 +35,7 @@ trait TestEnvironment with DBFilmFrontPageData with DBSubjectFrontPageData with DBFrontPageData - with ErrorHelpers + with ErrorHandling with Clock with DBMigrator { override val props = new FrontpageApiProperties diff --git a/image-api/src/main/scala/no/ndla/imageapi/ComponentRegistry.scala b/image-api/src/main/scala/no/ndla/imageapi/ComponentRegistry.scala index 0faa1e1169..00fbf51de2 100644 --- a/image-api/src/main/scala/no/ndla/imageapi/ComponentRegistry.scala +++ b/image-api/src/main/scala/no/ndla/imageapi/ComponentRegistry.scala @@ -14,7 +14,7 @@ import no.ndla.common.aws.NdlaS3Client import no.ndla.common.configuration.BaseComponentRegistry import no.ndla.imageapi.controller.* import no.ndla.imageapi.integration.* -import no.ndla.imageapi.model.api.ErrorHelpers +import no.ndla.imageapi.model.api.ErrorHandling import no.ndla.imageapi.repository.ImageRepository import no.ndla.imageapi.service.* import no.ndla.imageapi.service.search.{ @@ -61,7 +61,7 @@ class ComponentRegistry(properties: ImageApiProperties) with Clock with Props with DBMigrator - with ErrorHelpers + with ErrorHandling with Random with NdlaS3Client with SwaggerDocControllerConfig { diff --git a/image-api/src/main/scala/no/ndla/imageapi/controller/ImageControllerV2.scala b/image-api/src/main/scala/no/ndla/imageapi/controller/ImageControllerV2.scala index 0e5445539f..1780d5198c 100644 --- a/image-api/src/main/scala/no/ndla/imageapi/controller/ImageControllerV2.scala +++ b/image-api/src/main/scala/no/ndla/imageapi/controller/ImageControllerV2.scala @@ -31,7 +31,7 @@ import scala.util.{Failure, Success, Try} trait ImageControllerV2 { this: ImageRepository & ImageSearchService & ConverterService & ReadService & WriteService & SearchConverterService & - Props & ErrorHelpers & BaseImageController & TapirController => + Props & ErrorHandling & BaseImageController & TapirController => val imageControllerV2: ImageControllerV2 class ImageControllerV2 extends TapirController with BaseImageController { diff --git a/image-api/src/main/scala/no/ndla/imageapi/controller/ImageControllerV3.scala b/image-api/src/main/scala/no/ndla/imageapi/controller/ImageControllerV3.scala index 85b39ce99c..7c13282f31 100644 --- a/image-api/src/main/scala/no/ndla/imageapi/controller/ImageControllerV3.scala +++ b/image-api/src/main/scala/no/ndla/imageapi/controller/ImageControllerV3.scala @@ -37,7 +37,7 @@ trait ImageControllerV3 { with WriteService with SearchConverterService with Props - with ErrorHelpers + with ErrorHandling with BaseImageController with TapirController => val imageControllerV3: ImageControllerV3 diff --git a/image-api/src/main/scala/no/ndla/imageapi/controller/InternController.scala b/image-api/src/main/scala/no/ndla/imageapi/controller/InternController.scala index e260d2fa71..65f9d24d7b 100644 --- a/image-api/src/main/scala/no/ndla/imageapi/controller/InternController.scala +++ b/image-api/src/main/scala/no/ndla/imageapi/controller/InternController.scala @@ -10,7 +10,7 @@ package no.ndla.imageapi.controller import cats.implicits.* import com.typesafe.scalalogging.StrictLogging -import no.ndla.imageapi.model.api.{ErrorHelpers, ImageMetaDomainDump, ImageMetaInformationV2} +import no.ndla.imageapi.model.api.{ErrorHandling, ImageMetaDomainDump, ImageMetaInformationV2} import no.ndla.imageapi.model.domain.ImageMetaInformation import no.ndla.imageapi.repository.ImageRepository import no.ndla.imageapi.service.search.{ImageIndexService, TagIndexService} @@ -37,7 +37,7 @@ trait InternController { with TagIndexService with ImageRepository with Props - with ErrorHelpers + with ErrorHandling with TapirController => val internController: InternController diff --git a/image-api/src/main/scala/no/ndla/imageapi/controller/RawController.scala b/image-api/src/main/scala/no/ndla/imageapi/controller/RawController.scala index 29d9861f75..27bed1bba4 100644 --- a/image-api/src/main/scala/no/ndla/imageapi/controller/RawController.scala +++ b/image-api/src/main/scala/no/ndla/imageapi/controller/RawController.scala @@ -10,7 +10,7 @@ package no.ndla.imageapi.controller import cats.implicits.catsSyntaxEitherId import no.ndla.common.errors.{ValidationException, ValidationMessage} import no.ndla.imageapi.Props -import no.ndla.imageapi.model.api.ErrorHelpers +import no.ndla.imageapi.model.api.ErrorHandling import no.ndla.imageapi.model.domain.ImageStream import no.ndla.imageapi.repository.ImageRepository import no.ndla.imageapi.service.{ImageConverter, ImageStorageService, ReadService} @@ -26,7 +26,7 @@ trait RawController { this: ImageStorageService with ImageConverter with ImageRepository - with ErrorHelpers + with ErrorHandling with Props with ReadService with TapirController => diff --git a/image-api/src/main/scala/no/ndla/imageapi/model/api/Error.scala b/image-api/src/main/scala/no/ndla/imageapi/model/api/Error.scala index 6f430ed223..cfc36c9e83 100644 --- a/image-api/src/main/scala/no/ndla/imageapi/model/api/Error.scala +++ b/image-api/src/main/scala/no/ndla/imageapi/model/api/Error.scala @@ -12,11 +12,11 @@ import no.ndla.common.Clock import no.ndla.imageapi.Props import no.ndla.imageapi.integration.DataSource import no.ndla.imageapi.model._ -import no.ndla.network.tapir.{AllErrors, TapirErrorHelpers} +import no.ndla.network.tapir.{AllErrors, TapirErrorHandling} import no.ndla.search.{IndexNotFoundException, NdlaSearchException} import org.postgresql.util.PSQLException -trait ErrorHelpers extends TapirErrorHelpers { +trait ErrorHandling extends TapirErrorHandling { this: Props with Clock with DataSource => import ErrorHelpers._ diff --git a/image-api/src/main/scala/no/ndla/imageapi/service/search/ImageSearchService.scala b/image-api/src/main/scala/no/ndla/imageapi/service/search/ImageSearchService.scala index cc08027c26..d73a820ac8 100644 --- a/image-api/src/main/scala/no/ndla/imageapi/service/search/ImageSearchService.scala +++ b/image-api/src/main/scala/no/ndla/imageapi/service/search/ImageSearchService.scala @@ -16,7 +16,7 @@ import com.typesafe.scalalogging.StrictLogging import no.ndla.common.CirceUtil import no.ndla.imageapi.Props import no.ndla.imageapi.model.ResultWindowTooLargeException -import no.ndla.imageapi.model.api.{ErrorHelpers, ImageMetaSummary} +import no.ndla.imageapi.model.api.{ErrorHandling, ImageMetaSummary} import no.ndla.imageapi.model.domain.{SearchResult, SearchSettings, Sort} import no.ndla.imageapi.model.search.SearchableImage import no.ndla.common.implicits.* @@ -34,7 +34,7 @@ trait ImageSearchService { with SearchService with SearchConverterService with Props - with ErrorHelpers => + with ErrorHandling => val imageSearchService: ImageSearchService class ImageSearchService extends StrictLogging with SearchService[(SearchableImage, MatchedLanguage)] { import props.{ElasticSearchIndexMaxResultWindow, ElasticSearchScrollKeepAlive} diff --git a/image-api/src/main/scala/no/ndla/imageapi/service/search/TagSearchService.scala b/image-api/src/main/scala/no/ndla/imageapi/service/search/TagSearchService.scala index 2c07be6731..2e8694f2c1 100644 --- a/image-api/src/main/scala/no/ndla/imageapi/service/search/TagSearchService.scala +++ b/image-api/src/main/scala/no/ndla/imageapi/service/search/TagSearchService.scala @@ -14,7 +14,7 @@ import com.typesafe.scalalogging.StrictLogging import no.ndla.common.CirceUtil import no.ndla.imageapi.Props import no.ndla.imageapi.model.ResultWindowTooLargeException -import no.ndla.imageapi.model.api.ErrorHelpers +import no.ndla.imageapi.model.api.ErrorHandling import no.ndla.imageapi.model.domain.{SearchResult, Sort} import no.ndla.imageapi.model.search.SearchableTag import no.ndla.language.model.Iso639 @@ -29,7 +29,7 @@ trait TagSearchService { with TagIndexService with SearchConverterService with Props - with ErrorHelpers => + with ErrorHandling => val tagSearchService: TagSearchService class TagSearchService extends StrictLogging with SearchService[String] { diff --git a/image-api/src/test/scala/no/ndla/imageapi/TestEnvironment.scala b/image-api/src/test/scala/no/ndla/imageapi/TestEnvironment.scala index ad4ce784fc..0ed7457593 100644 --- a/image-api/src/test/scala/no/ndla/imageapi/TestEnvironment.scala +++ b/image-api/src/test/scala/no/ndla/imageapi/TestEnvironment.scala @@ -20,7 +20,7 @@ import no.ndla.imageapi.controller.{ RawController } import no.ndla.imageapi.integration.* -import no.ndla.imageapi.model.api.ErrorHelpers +import no.ndla.imageapi.model.api.ErrorHandling import no.ndla.imageapi.repository.* import no.ndla.imageapi.service.* import no.ndla.imageapi.service.search.{ @@ -67,7 +67,7 @@ trait TestEnvironment with MockitoSugar with Clock with Props - with ErrorHelpers + with ErrorHandling with DBMigrator with TestData with Random { diff --git a/learningpath-api/src/main/scala/no/ndla/learningpathapi/ComponentRegistry.scala b/learningpath-api/src/main/scala/no/ndla/learningpathapi/ComponentRegistry.scala index d3523f24b6..79bf102af4 100644 --- a/learningpath-api/src/main/scala/no/ndla/learningpathapi/ComponentRegistry.scala +++ b/learningpath-api/src/main/scala/no/ndla/learningpathapi/ComponentRegistry.scala @@ -18,7 +18,7 @@ import no.ndla.learningpathapi.controller.{ SwaggerDocControllerConfig } import no.ndla.learningpathapi.integration.* -import no.ndla.learningpathapi.model.api.ErrorHelpers +import no.ndla.learningpathapi.model.api.ErrorHandling import no.ndla.learningpathapi.repository.LearningPathRepositoryComponent import no.ndla.learningpathapi.service.* import no.ndla.learningpathapi.service.search.{SearchConverterServiceComponent, SearchIndexService, SearchService} @@ -66,7 +66,7 @@ class ComponentRegistry(properties: LearningpathApiProperties) with DBMigrator with TextValidator with UrlValidator - with ErrorHelpers + with ErrorHandling with RedisClient with SwaggerDocControllerConfig { override val props: LearningpathApiProperties = properties diff --git a/learningpath-api/src/main/scala/no/ndla/learningpathapi/controller/InternController.scala b/learningpath-api/src/main/scala/no/ndla/learningpathapi/controller/InternController.scala index 428a74048e..0c01d586e4 100644 --- a/learningpath-api/src/main/scala/no/ndla/learningpathapi/controller/InternController.scala +++ b/learningpath-api/src/main/scala/no/ndla/learningpathapi/controller/InternController.scala @@ -10,7 +10,7 @@ package no.ndla.learningpathapi.controller import cats.implicits.catsSyntaxEitherId import no.ndla.common.model.api.CommaSeparatedList.* -import no.ndla.learningpathapi.model.api.{ErrorHelpers, LearningPathDomainDump, LearningPathSummaryV2} +import no.ndla.learningpathapi.model.api.{ErrorHandling, LearningPathDomainDump, LearningPathSummaryV2} import no.ndla.learningpathapi.Props import no.ndla.learningpathapi.model.domain import no.ndla.learningpathapi.repository.LearningPathRepositoryComponent @@ -28,7 +28,7 @@ import scala.util.{Failure, Success} trait InternController { this: SearchIndexService & SearchService & LearningPathRepositoryComponent & ReadService & UpdateService & Props & - ErrorHelpers & TapirController => + ErrorHandling & TapirController => val internController: InternController class InternController extends TapirController { diff --git a/learningpath-api/src/main/scala/no/ndla/learningpathapi/controller/LearningpathControllerV2.scala b/learningpath-api/src/main/scala/no/ndla/learningpathapi/controller/LearningpathControllerV2.scala index 93f21a26cf..5ca58fda2f 100644 --- a/learningpath-api/src/main/scala/no/ndla/learningpathapi/controller/LearningpathControllerV2.scala +++ b/learningpath-api/src/main/scala/no/ndla/learningpathapi/controller/LearningpathControllerV2.scala @@ -45,7 +45,7 @@ trait LearningpathControllerV2 { with TaxonomyApiClient with SearchConverterServiceComponent with Props - with ErrorHelpers + with ErrorHandling with TapirController => val learningpathControllerV2: LearningpathControllerV2 diff --git a/learningpath-api/src/main/scala/no/ndla/learningpathapi/controller/StatsController.scala b/learningpath-api/src/main/scala/no/ndla/learningpathapi/controller/StatsController.scala index 25bea4404b..26c067521f 100644 --- a/learningpath-api/src/main/scala/no/ndla/learningpathapi/controller/StatsController.scala +++ b/learningpath-api/src/main/scala/no/ndla/learningpathapi/controller/StatsController.scala @@ -8,7 +8,7 @@ package no.ndla.learningpathapi.controller import no.ndla.learningpathapi.Props -import no.ndla.learningpathapi.model.api.ErrorHelpers +import no.ndla.learningpathapi.model.api.ErrorHandling import no.ndla.learningpathapi.service.ReadService import no.ndla.network.tapir.TapirController import sttp.model.StatusCode @@ -17,7 +17,7 @@ import sttp.tapir.* import sttp.tapir.server.ServerEndpoint trait StatsController { - this: ReadService with Props with ErrorHelpers with TapirController => + this: ReadService with Props with ErrorHandling with TapirController => val statsController: StatsController class StatsController extends TapirController { diff --git a/learningpath-api/src/main/scala/no/ndla/learningpathapi/model/api/ErrorHelpers.scala b/learningpath-api/src/main/scala/no/ndla/learningpathapi/model/api/ErrorHandling.scala similarity index 95% rename from learningpath-api/src/main/scala/no/ndla/learningpathapi/model/api/ErrorHelpers.scala rename to learningpath-api/src/main/scala/no/ndla/learningpathapi/model/api/ErrorHandling.scala index 2a6bf86a3d..c37325fe26 100644 --- a/learningpath-api/src/main/scala/no/ndla/learningpathapi/model/api/ErrorHelpers.scala +++ b/learningpath-api/src/main/scala/no/ndla/learningpathapi/model/api/ErrorHandling.scala @@ -19,11 +19,11 @@ import no.ndla.learningpathapi.model.domain.{ OptimisticLockException } import no.ndla.network.model.HttpRequestException -import no.ndla.network.tapir.{AllErrors, TapirErrorHelpers} +import no.ndla.network.tapir.{AllErrors, TapirErrorHandling} import no.ndla.search.{IndexNotFoundException, NdlaSearchException} import org.postgresql.util.PSQLException -trait ErrorHelpers extends TapirErrorHelpers { +trait ErrorHandling extends TapirErrorHandling { this: Props with Clock with DataSource => import ErrorHelpers._ diff --git a/learningpath-api/src/main/scala/no/ndla/learningpathapi/service/search/SearchService.scala b/learningpath-api/src/main/scala/no/ndla/learningpathapi/service/search/SearchService.scala index f3f6702789..1c8d89c079 100644 --- a/learningpath-api/src/main/scala/no/ndla/learningpathapi/service/search/SearchService.scala +++ b/learningpath-api/src/main/scala/no/ndla/learningpathapi/service/search/SearchService.scala @@ -20,7 +20,7 @@ import no.ndla.common.implicits.* import no.ndla.language.Language.{AllLanguages, NoLanguage} import no.ndla.language.model.Iso639 import no.ndla.learningpathapi.Props -import no.ndla.learningpathapi.model.api.{ErrorHelpers, LearningPathSummaryV2} +import no.ndla.learningpathapi.model.api.{ErrorHandling, LearningPathSummaryV2} import no.ndla.learningpathapi.model.domain.* import no.ndla.learningpathapi.model.search.SearchableLearningPath import no.ndla.search.{Elastic4sClient, IndexNotFoundException, NdlaSearchException} @@ -30,7 +30,7 @@ import scala.concurrent.{ExecutionContext, ExecutionContextExecutorService, Futu import scala.util.{Failure, Success, Try} trait SearchService extends StrictLogging { - this: SearchIndexService with Elastic4sClient with SearchConverterServiceComponent with Props with ErrorHelpers => + this: SearchIndexService with Elastic4sClient with SearchConverterServiceComponent with Props with ErrorHandling => val searchService: SearchService class SearchService { diff --git a/learningpath-api/src/test/scala/no/ndla/learningpathapi/TestEnvironment.scala b/learningpath-api/src/test/scala/no/ndla/learningpathapi/TestEnvironment.scala index b432c72413..07b69e924a 100644 --- a/learningpath-api/src/test/scala/no/ndla/learningpathapi/TestEnvironment.scala +++ b/learningpath-api/src/test/scala/no/ndla/learningpathapi/TestEnvironment.scala @@ -12,7 +12,7 @@ import com.zaxxer.hikari.HikariDataSource import no.ndla.common.Clock import no.ndla.learningpathapi.controller.{InternController, LearningpathControllerV2, StatsController} import no.ndla.learningpathapi.integration.* -import no.ndla.learningpathapi.model.api.ErrorHelpers +import no.ndla.learningpathapi.model.api.ErrorHandling import no.ndla.learningpathapi.repository.LearningPathRepositoryComponent import no.ndla.learningpathapi.service.* import no.ndla.learningpathapi.service.search.{SearchConverterServiceComponent, SearchIndexService, SearchService} @@ -52,7 +52,7 @@ trait TestEnvironment with TextValidator with UrlValidator with MyNDLAApiClient - with ErrorHelpers + with ErrorHandling with Props with InternController with DBMigrator diff --git a/myndla-api/src/main/scala/no/ndla/myndlaapi/ComponentRegistry.scala b/myndla-api/src/main/scala/no/ndla/myndlaapi/ComponentRegistry.scala index 3103c02f1f..edef5ee263 100644 --- a/myndla-api/src/main/scala/no/ndla/myndlaapi/ComponentRegistry.scala +++ b/myndla-api/src/main/scala/no/ndla/myndlaapi/ComponentRegistry.scala @@ -13,7 +13,7 @@ import no.ndla.common.configuration.BaseComponentRegistry import no.ndla.myndlaapi.controller.{ ArenaController, ConfigController, - ErrorHelpers, + ErrorHandling, FolderController, InternController, StatsController, @@ -40,7 +40,7 @@ import no.ndla.network.tapir.TapirApplication class ComponentRegistry(properties: MyNdlaApiProperties) extends BaseComponentRegistry[MyNdlaApiProperties] with Props - with ErrorHelpers + with ErrorHandling with TapirApplication with Clock with SwaggerDocControllerConfig diff --git a/myndla-api/src/main/scala/no/ndla/myndlaapi/MyNDLAAuthHelpers.scala b/myndla-api/src/main/scala/no/ndla/myndlaapi/MyNDLAAuthHelpers.scala index 0c695cf756..ce32914299 100644 --- a/myndla-api/src/main/scala/no/ndla/myndlaapi/MyNDLAAuthHelpers.scala +++ b/myndla-api/src/main/scala/no/ndla/myndlaapi/MyNDLAAuthHelpers.scala @@ -11,7 +11,7 @@ package no.ndla.myndlaapi import no.ndla.myndlaapi.model.domain.{ArenaGroup, MyNDLAUser} import no.ndla.myndlaapi.service.UserService import no.ndla.network.model.FeideAccessToken -import no.ndla.network.tapir.{AllErrors, TapirErrorHelpers} +import no.ndla.network.tapir.{AllErrors, TapirErrorHandling} import sttp.model.headers.{AuthenticationScheme, WWWAuthenticateChallenge} import sttp.monad.MonadError import sttp.tapir.* @@ -22,7 +22,7 @@ import sttp.tapir.server.PartialServerEndpoint import scala.collection.immutable.ListMap trait MyNDLAAuthHelpers { - this: UserService with TapirErrorHelpers => + this: UserService with TapirErrorHandling => object MyNDLAAuthHelpers { private val authScheme = AuthenticationScheme.Bearer.name diff --git a/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/ArenaController.scala b/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/ArenaController.scala index b0ee31c33d..2c840eee49 100644 --- a/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/ArenaController.scala +++ b/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/ArenaController.scala @@ -9,7 +9,7 @@ package no.ndla.myndlaapi.controller import io.circe.generic.auto.* import no.ndla.myndlaapi.model.api.{ArenaUser, MyNDLAUser, PaginatedArenaUsers, UpdatedMyNDLAUser} -import no.ndla.myndlaapi.{MyNDLAAuthHelpers} +import no.ndla.myndlaapi.MyNDLAAuthHelpers import no.ndla.myndlaapi.model.arena.api.{ Category, CategorySort, @@ -30,20 +30,14 @@ import no.ndla.myndlaapi.service.{ArenaReadService, UserService} import no.ndla.network.clients.FeideApiClient import no.ndla.network.tapir.NoNullJsonPrinter.jsonBody import no.ndla.network.tapir.TapirUtil.errorOutputsFor -import no.ndla.network.tapir.{TapirController, TapirErrorHelpers} +import no.ndla.network.tapir.TapirController import sttp.model.StatusCode import sttp.tapir.generic.auto.* import sttp.tapir.server.ServerEndpoint import sttp.tapir.* trait ArenaController { - this: ErrorHelpers - with TapirErrorHelpers - with MyNDLAAuthHelpers - with ArenaReadService - with FeideApiClient - with UserService - with TapirController => + this: ErrorHandling & MyNDLAAuthHelpers & ArenaReadService & FeideApiClient & UserService & TapirController => val arenaController: ArenaController class ArenaController extends TapirController { diff --git a/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/ConfigController.scala b/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/ConfigController.scala index bbb1781df9..a5ecea1545 100644 --- a/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/ConfigController.scala +++ b/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/ConfigController.scala @@ -9,7 +9,7 @@ package no.ndla.myndlaapi.controller import no.ndla.network.tapir.NoNullJsonPrinter.jsonBody import no.ndla.network.tapir.TapirUtil.errorOutputsFor -import no.ndla.network.tapir.{TapirController, TapirErrorHelpers} +import no.ndla.network.tapir.TapirController import sttp.tapir.EndpointInput import sttp.tapir.server.ServerEndpoint import sttp.tapir.* @@ -22,7 +22,7 @@ import no.ndla.myndlaapi.service.ConfigService import no.ndla.network.tapir.auth.Permission.LEARNINGPATH_API_ADMIN trait ConfigController { - this: ErrorHelpers with TapirErrorHelpers with ConfigService with TapirController => + this: ErrorHandling with ConfigService with TapirController => val configController: ConfigController diff --git a/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/ErrorHelpers.scala b/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/ErrorHandling.scala similarity index 90% rename from myndla-api/src/main/scala/no/ndla/myndlaapi/controller/ErrorHelpers.scala rename to myndla-api/src/main/scala/no/ndla/myndlaapi/controller/ErrorHandling.scala index 26135d0534..4b77f2f77a 100644 --- a/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/ErrorHelpers.scala +++ b/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/ErrorHandling.scala @@ -15,10 +15,10 @@ import no.ndla.myndlaapi.Props import no.ndla.myndlaapi.integration.DataSource import no.ndla.myndlaapi.model.arena.domain.TopicGoneException import no.ndla.myndlaapi.model.domain.InvalidStatusException -import no.ndla.network.tapir.{AllErrors, ErrorBody, TapirErrorHelpers, ValidationErrorBody} +import no.ndla.network.tapir.{AllErrors, ErrorBody, TapirErrorHandling, ValidationErrorBody} import org.postgresql.util.PSQLException -trait ErrorHelpers extends TapirErrorHelpers with StrictLogging { +trait ErrorHandling extends TapirErrorHandling with StrictLogging { this: Props with Clock with DataSource => import ErrorHelpers._ diff --git a/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/FolderController.scala b/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/FolderController.scala index f22c6b7b56..b109f42986 100644 --- a/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/FolderController.scala +++ b/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/FolderController.scala @@ -38,7 +38,7 @@ import sttp.tapir.server.ServerEndpoint import java.util.UUID trait FolderController { - this: FolderReadService with FolderWriteService with ErrorHelpers with TapirController => + this: FolderReadService with FolderWriteService with ErrorHandling with TapirController => val folderController: FolderController class FolderController extends TapirController { diff --git a/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/InternController.scala b/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/InternController.scala index 4153aeda87..a13a8cad65 100644 --- a/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/InternController.scala +++ b/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/InternController.scala @@ -15,7 +15,7 @@ import sttp.tapir.* import sttp.tapir.server.ServerEndpoint trait InternController { - this: Props with ErrorHelpers with ImportService with TapirController => + this: Props with ErrorHandling with ImportService with TapirController => val internController: InternController class InternController extends TapirController { diff --git a/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/StatsController.scala b/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/StatsController.scala index 453309c918..cb8f55a618 100644 --- a/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/StatsController.scala +++ b/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/StatsController.scala @@ -13,7 +13,7 @@ import no.ndla.common.model.domain.ResourceType import no.ndla.myndlaapi.model.api.Stats import no.ndla.myndlaapi.service.FolderReadService import no.ndla.network.tapir.NoNullJsonPrinter.jsonBody -import no.ndla.network.tapir.{TapirController, TapirErrorHelpers} +import no.ndla.network.tapir.TapirController import no.ndla.network.tapir.TapirUtil.errorOutputsFor import sttp.tapir.EndpointInput import sttp.tapir.server.ServerEndpoint @@ -22,7 +22,7 @@ import sttp.tapir.generic.auto.* import sttp.tapir.model.CommaSeparated trait StatsController { - this: FolderReadService with TapirErrorHelpers with TapirController => + this: FolderReadService & TapirController => class StatsController extends TapirController { override val serviceName: String = "stats" override protected val prefix: EndpointInput[Unit] = "myndla-api" / "v1" / serviceName diff --git a/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/UserController.scala b/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/UserController.scala index 26abf52172..7e4d7e2a6e 100644 --- a/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/UserController.scala +++ b/myndla-api/src/main/scala/no/ndla/myndlaapi/controller/UserController.scala @@ -11,7 +11,7 @@ import cats.implicits.* import no.ndla.myndlaapi.MyNDLAAuthHelpers import no.ndla.network.tapir.NoNullJsonPrinter.jsonBody import no.ndla.network.tapir.Parameters.feideHeader -import no.ndla.network.tapir.{TapirController, TapirErrorHelpers} +import no.ndla.network.tapir.TapirController import no.ndla.network.tapir.TapirUtil.errorOutputsFor import no.ndla.network.tapir.auth.Permission.LEARNINGPATH_API_ADMIN import sttp.tapir.EndpointInput @@ -25,10 +25,9 @@ import no.ndla.network.model.FeideID import no.ndla.network.tapir.auth.TokenUser trait UserController { - this: ErrorHelpers + this: ErrorHandling with UserService with MyNDLAAuthHelpers - with TapirErrorHelpers with FolderWriteService with FolderReadService with ArenaReadService diff --git a/myndla-api/src/test/scala/no/ndla/myndlaapi/TestEnvironment.scala b/myndla-api/src/test/scala/no/ndla/myndlaapi/TestEnvironment.scala index fbddba5790..2a11e459ce 100644 --- a/myndla-api/src/test/scala/no/ndla/myndlaapi/TestEnvironment.scala +++ b/myndla-api/src/test/scala/no/ndla/myndlaapi/TestEnvironment.scala @@ -12,7 +12,7 @@ import no.ndla.common.Clock import no.ndla.myndlaapi.controller.{ ArenaController, ConfigController, - ErrorHelpers, + ErrorHandling, FolderController, StatsController, SwaggerDocControllerConfig, @@ -63,7 +63,7 @@ trait TestEnvironment with FolderController with UserController with StatsController - with ErrorHelpers + with ErrorHandling with ImportService with NodeBBClient with SearchApiClient diff --git a/network/src/main/scala/no/ndla/network/tapir/Routes.scala b/network/src/main/scala/no/ndla/network/tapir/Routes.scala index 93bda96e67..ffc15f39dc 100644 --- a/network/src/main/scala/no/ndla/network/tapir/Routes.scala +++ b/network/src/main/scala/no/ndla/network/tapir/Routes.scala @@ -35,7 +35,7 @@ import sttp.tapir.{AttributeKey, EndpointInput, statusCode} import java.util.concurrent.{ExecutorService, Executors} trait Routes { - this: TapirController & TapirErrorHelpers & HasBaseProps => + this: TapirController & HasBaseProps => def services: List[TapirController] diff --git a/network/src/main/scala/no/ndla/network/tapir/TapirApplication.scala b/network/src/main/scala/no/ndla/network/tapir/TapirApplication.scala index f387b21e67..337a615361 100644 --- a/network/src/main/scala/no/ndla/network/tapir/TapirApplication.scala +++ b/network/src/main/scala/no/ndla/network/tapir/TapirApplication.scala @@ -12,7 +12,7 @@ import no.ndla.common.configuration.HasBaseProps trait TapirApplication extends TapirController - with TapirErrorHelpers + with TapirErrorHandling with Clock with HasBaseProps with Routes diff --git a/network/src/main/scala/no/ndla/network/tapir/TapirController.scala b/network/src/main/scala/no/ndla/network/tapir/TapirController.scala index c6eb080a11..40ea0f6938 100644 --- a/network/src/main/scala/no/ndla/network/tapir/TapirController.scala +++ b/network/src/main/scala/no/ndla/network/tapir/TapirController.scala @@ -19,8 +19,8 @@ import sttp.tapir.* import sttp.tapir.server.{PartialServerEndpoint, ServerEndpoint} import no.ndla.network.tapir.NoNullJsonPrinter.jsonBody -trait TapirController { - this: HasBaseProps & Clock & TapirErrorHelpers => +trait TapirController extends TapirErrorHandling { + this: HasBaseProps & Clock => trait TapirController extends StrictLogging { type Eff[A] = Identity[A] val enableSwagger: Boolean = true @@ -61,7 +61,7 @@ trait TapirController { requiredPermission: Permission* ): PartialServerEndpoint[Option[TokenUser], TokenUser, I, AllErrors, O, R, F] = { val newEndpoint = self.securityIn(TokenUser.oauth2Input(requiredPermission)) - val authFunc = requireScope(requiredPermission *) + val authFunc = requireScope(requiredPermission*) val securityLogic = (m: MonadError[F]) => (a: Option[TokenUser]) => m.unit(authFunc(a)) PartialServerEndpoint(newEndpoint, securityLogic) } diff --git a/network/src/main/scala/no/ndla/network/tapir/TapirErrorHelpers.scala b/network/src/main/scala/no/ndla/network/tapir/TapirErrorHandling.scala similarity index 99% rename from network/src/main/scala/no/ndla/network/tapir/TapirErrorHelpers.scala rename to network/src/main/scala/no/ndla/network/tapir/TapirErrorHandling.scala index 77a8ab9767..9c7fb791af 100644 --- a/network/src/main/scala/no/ndla/network/tapir/TapirErrorHelpers.scala +++ b/network/src/main/scala/no/ndla/network/tapir/TapirErrorHandling.scala @@ -15,9 +15,52 @@ import no.ndla.common.errors.ValidationException import scala.util.{Failure, Success, Try} -trait TapirErrorHelpers extends StrictLogging { +trait TapirErrorHandling extends StrictLogging { this: HasBaseProps & Clock => + def logError(e: Throwable): Unit = { + logger.error(e.getMessage, e) + } + + private def handleUnknownError(e: Throwable): ErrorBody = { + logError(e) + ErrorHelpers.generic + } + + def handleErrors: PartialFunction[Throwable, AllErrors] + def returnError(ex: Throwable): AllErrors = handleErrors.applyOrElse(ex, handleUnknownError) + def returnLeftError[R](ex: Throwable): Either[AllErrors, R] = returnError(ex).asLeft[R] + implicit def tryToEither[T](x: Try[T]): Either[AllErrors, T] = x.handleErrorsOrOk + + implicit class handleErrorOrOkClass[T](t: Try[T]) { + import cats.implicits.* + + /** Function to handle any error If the error is not defined in the default errorHandler [[returnError]] we fallback + * to a generic 500 error. + */ + def handleErrorsOrOk: Either[AllErrors, T] = t match { + case Success(value) => value.asRight + case Failure(ex) => returnLeftError(ex) + } + + /** Function to override one or more of error responses: + * {{{ + * someMethodThatReturnsTry().partialOverride { case x: SomeExceptionToHandle => + * ErrorHelpers.unprocessableEntity("Cannot process") + * } + * }}} + * + * If the error is not defined in the callback or in the default errorHandler [[returnError]] we fallback to a + * generic 500 error. + */ + def partialOverride(callback: PartialFunction[Throwable, ErrorBody]): Either[AllErrors, T] = t match { + case Success(value) => value.asRight + case Failure(ex) if callback.isDefinedAt(ex) => callback(ex).asLeft + case Failure(ex) => returnLeftError(ex) + } + + } + object ErrorHelpers { val GENERIC = "GENERIC" val NOT_FOUND = "NOT_FOUND" @@ -80,47 +123,4 @@ trait TapirErrorHelpers extends StrictLogging { ErrorBody(code, description, clock.now(), statusCode) } - - def logError(e: Throwable): Unit = { - logger.error(e.getMessage, e) - } - - private def handleUnknownError(e: Throwable): ErrorBody = { - logError(e) - ErrorHelpers.generic - } - - def handleErrors: PartialFunction[Throwable, AllErrors] - def returnError(ex: Throwable): AllErrors = handleErrors.applyOrElse(ex, handleUnknownError) - def returnLeftError[R](ex: Throwable): Either[AllErrors, R] = returnError(ex).asLeft[R] - implicit def tryToEither[T](x: Try[T]): Either[AllErrors, T] = x.handleErrorsOrOk - - implicit class handleErrorOrOkClass[T](t: Try[T]) { - import cats.implicits.* - - /** Function to handle any error If the error is not defined in the default errorHandler [[returnError]] we fallback - * to a generic 500 error. - */ - def handleErrorsOrOk: Either[AllErrors, T] = t match { - case Success(value) => value.asRight - case Failure(ex) => returnLeftError(ex) - } - - /** Function to override one or more of error responses: - * {{{ - * someMethodThatReturnsTry().partialOverride { case x: SomeExceptionToHandle => - * ErrorHelpers.unprocessableEntity("Cannot process") - * } - * }}} - * - * If the error is not defined in the callback or in the default errorHandler [[returnError]] we fallback to a - * generic 500 error. - */ - def partialOverride(callback: PartialFunction[Throwable, ErrorBody]): Either[AllErrors, T] = t match { - case Success(value) => value.asRight - case Failure(ex) if callback.isDefinedAt(ex) => callback(ex).asLeft - case Failure(ex) => returnLeftError(ex) - } - - } } diff --git a/oembed-proxy/src/main/scala/no/ndla/oembedproxy/ComponentRegistry.scala b/oembed-proxy/src/main/scala/no/ndla/oembedproxy/ComponentRegistry.scala index f5ee44cfc4..27a8011bd5 100644 --- a/oembed-proxy/src/main/scala/no/ndla/oembedproxy/ComponentRegistry.scala +++ b/oembed-proxy/src/main/scala/no/ndla/oembedproxy/ComponentRegistry.scala @@ -14,7 +14,7 @@ import no.ndla.network.NdlaClient import no.ndla.network.tapir.TapirApplication import no.ndla.oembedproxy.caching.MemoizeHelpers import no.ndla.oembedproxy.controller.{OEmbedProxyController, SwaggerDocControllerConfig} -import no.ndla.oembedproxy.model.ErrorHelpers +import no.ndla.oembedproxy.model.ErrorHandling import no.ndla.oembedproxy.service.{OEmbedServiceComponent, ProviderService} class ComponentRegistry(properties: OEmbedProxyProperties) @@ -26,7 +26,7 @@ class ComponentRegistry(properties: OEmbedProxyProperties) with ProviderService with MemoizeHelpers with Props - with ErrorHelpers + with ErrorHandling with Clock with SwaggerDocControllerConfig { override val props: OEmbedProxyProperties = properties diff --git a/oembed-proxy/src/main/scala/no/ndla/oembedproxy/controller/OEmbedProxyController.scala b/oembed-proxy/src/main/scala/no/ndla/oembedproxy/controller/OEmbedProxyController.scala index d0752e7bf8..b8ff986731 100644 --- a/oembed-proxy/src/main/scala/no/ndla/oembedproxy/controller/OEmbedProxyController.scala +++ b/oembed-proxy/src/main/scala/no/ndla/oembedproxy/controller/OEmbedProxyController.scala @@ -22,7 +22,7 @@ import sttp.tapir.server.ServerEndpoint import scala.util.{Failure, Success} trait OEmbedProxyController { - this: OEmbedServiceComponent & ErrorHelpers & TapirController => + this: OEmbedServiceComponent & ErrorHandling & TapirController => val oEmbedProxyController: OEmbedProxyController class OEmbedProxyController extends TapirController { diff --git a/oembed-proxy/src/main/scala/no/ndla/oembedproxy/model/NDLAErrors.scala b/oembed-proxy/src/main/scala/no/ndla/oembedproxy/model/NDLAErrors.scala index 249e63ede2..97345b87d0 100644 --- a/oembed-proxy/src/main/scala/no/ndla/oembedproxy/model/NDLAErrors.scala +++ b/oembed-proxy/src/main/scala/no/ndla/oembedproxy/model/NDLAErrors.scala @@ -14,7 +14,7 @@ import no.ndla.network.model.HttpRequestException import no.ndla.network.tapir._ import no.ndla.oembedproxy.Props -trait ErrorHelpers extends TapirErrorHelpers with StrictLogging { +trait ErrorHandling extends TapirErrorHandling with StrictLogging { this: Props with Clock => import ErrorHelpers._ diff --git a/oembed-proxy/src/test/scala/no/ndla/oembedproxy/TestEnvironment.scala b/oembed-proxy/src/test/scala/no/ndla/oembedproxy/TestEnvironment.scala index ecb8faba2b..105083a8f6 100644 --- a/oembed-proxy/src/test/scala/no/ndla/oembedproxy/TestEnvironment.scala +++ b/oembed-proxy/src/test/scala/no/ndla/oembedproxy/TestEnvironment.scala @@ -13,7 +13,7 @@ import no.ndla.network.NdlaClient import no.ndla.network.tapir.TapirApplication import no.ndla.oembedproxy.caching.MemoizeHelpers import no.ndla.oembedproxy.controller.OEmbedProxyController -import no.ndla.oembedproxy.model.ErrorHelpers +import no.ndla.oembedproxy.model.ErrorHandling import no.ndla.oembedproxy.service.{OEmbedServiceComponent, ProviderService} import org.mockito.Mockito.reset import org.scalatestplus.mockito.MockitoSugar @@ -27,7 +27,7 @@ trait TestEnvironment with MockitoSugar with Props with MemoizeHelpers - with ErrorHelpers + with ErrorHandling with Clock { override val props = new OEmbedProxyProperties diff --git a/search-api/src/main/scala/no/ndla/searchapi/ComponentRegistry.scala b/search-api/src/main/scala/no/ndla/searchapi/ComponentRegistry.scala index 7484cff283..c2641e0b44 100644 --- a/search-api/src/main/scala/no/ndla/searchapi/ComponentRegistry.scala +++ b/search-api/src/main/scala/no/ndla/searchapi/ComponentRegistry.scala @@ -17,7 +17,7 @@ import no.ndla.network.tapir.TapirApplication import no.ndla.search.{BaseIndexService, Elastic4sClient} import no.ndla.searchapi.controller.{InternController, SearchController, SwaggerDocControllerConfig} import no.ndla.searchapi.integration.* -import no.ndla.searchapi.model.api.ErrorHelpers +import no.ndla.searchapi.model.api.ErrorHandling import no.ndla.searchapi.service.search.* import no.ndla.searchapi.service.ConverterService @@ -31,7 +31,7 @@ class ComponentRegistry(properties: SearchApiProperties) with LearningPathIndexService with DraftIndexService with MultiSearchService - with ErrorHelpers + with ErrorHandling with Clock with MultiDraftSearchService with ConverterService diff --git a/search-api/src/main/scala/no/ndla/searchapi/controller/InternController.scala b/search-api/src/main/scala/no/ndla/searchapi/controller/InternController.scala index e274552aab..69f38e0c59 100644 --- a/search-api/src/main/scala/no/ndla/searchapi/controller/InternController.scala +++ b/search-api/src/main/scala/no/ndla/searchapi/controller/InternController.scala @@ -21,7 +21,7 @@ import no.ndla.network.tapir.{AllErrors, TapirController} import no.ndla.network.tapir.TapirUtil.errorOutputsFor import no.ndla.searchapi.Props import no.ndla.searchapi.integration.{GrepApiClient, MyNDLAApiClient, TaxonomyApiClient} -import no.ndla.searchapi.model.api.ErrorHelpers +import no.ndla.searchapi.model.api.ErrorHandling import no.ndla.searchapi.model.domain.{IndexingBundle, ReindexResult} import no.ndla.searchapi.model.domain.learningpath.LearningPath import no.ndla.searchapi.model.search.SearchType @@ -45,7 +45,7 @@ import sttp.tapir.server.ServerEndpoint trait InternController { this: IndexService & ArticleIndexService & LearningPathIndexService & DraftIndexService & DraftConceptIndexService & - TaxonomyApiClient & GrepApiClient & Props & ErrorHelpers & MyNDLAApiClient & TapirController => + TaxonomyApiClient & GrepApiClient & Props & ErrorHandling & MyNDLAApiClient & TapirController => val internController: InternController class InternController extends TapirController with StrictLogging { diff --git a/search-api/src/main/scala/no/ndla/searchapi/controller/SearchController.scala b/search-api/src/main/scala/no/ndla/searchapi/controller/SearchController.scala index 826616f635..fd0769e9ac 100644 --- a/search-api/src/main/scala/no/ndla/searchapi/controller/SearchController.scala +++ b/search-api/src/main/scala/no/ndla/searchapi/controller/SearchController.scala @@ -24,7 +24,7 @@ import no.ndla.network.tapir.auth.Permission.DRAFT_API_WRITE import no.ndla.searchapi.controller.parameters.{DraftSearchParams, SearchParams, SubjectAggsInput} import no.ndla.searchapi.Props import no.ndla.searchapi.integration.SearchApiClient -import no.ndla.searchapi.model.api.{ErrorHelpers, GroupSearchResult, MultiSearchResult, SubjectAggregations} +import no.ndla.searchapi.model.api.{ErrorHandling, GroupSearchResult, MultiSearchResult, SubjectAggregations} import no.ndla.searchapi.model.domain.{LearningResourceType, Sort} import no.ndla.searchapi.model.search.SearchType import no.ndla.searchapi.model.search.settings.{MultiDraftSearchSettings, SearchSettings} @@ -47,12 +47,11 @@ import sttp.tapir.server.ServerEndpoint trait SearchController { this: SearchApiClient & MultiSearchService & SearchConverterService & SearchService & MultiDraftSearchService & - FeideApiClient & Props & ErrorHelpers & TapirController => + FeideApiClient & Props & ErrorHandling & TapirController => val searchController: SearchController class SearchController extends TapirController { import props.* - import ErrorHelpers.* override val serviceName: String = "search" override val prefix: EndpointInput[Unit] = "search-api" / "v1" / serviceName diff --git a/search-api/src/main/scala/no/ndla/searchapi/model/api/Error.scala b/search-api/src/main/scala/no/ndla/searchapi/model/api/Error.scala index 8fc1ce184b..cfde85c01c 100644 --- a/search-api/src/main/scala/no/ndla/searchapi/model/api/Error.scala +++ b/search-api/src/main/scala/no/ndla/searchapi/model/api/Error.scala @@ -11,11 +11,11 @@ package no.ndla.searchapi.model.api import cats.implicits.catsSyntaxOptionId import no.ndla.common.Clock import no.ndla.common.errors.{AccessDeniedException, ValidationException} -import no.ndla.network.tapir.{AllErrors, TapirErrorHelpers, ValidationErrorBody} +import no.ndla.network.tapir.{AllErrors, TapirErrorHandling, ValidationErrorBody} import no.ndla.search.{IndexNotFoundException, NdlaSearchException} import no.ndla.searchapi.Props -trait ErrorHelpers extends TapirErrorHelpers { +trait ErrorHandling extends TapirErrorHandling { this: Props with Clock => import ErrorHelpers._ diff --git a/search-api/src/main/scala/no/ndla/searchapi/service/search/MultiDraftSearchService.scala b/search-api/src/main/scala/no/ndla/searchapi/service/search/MultiDraftSearchService.scala index 5451139c49..d9f5c25485 100644 --- a/search-api/src/main/scala/no/ndla/searchapi/service/search/MultiDraftSearchService.scala +++ b/search-api/src/main/scala/no/ndla/searchapi/service/search/MultiDraftSearchService.scala @@ -8,7 +8,7 @@ package no.ndla.searchapi.service.search import cats.implicits.* -import com.sksamuel.elastic4s.ElasticDsl.{simpleStringQuery, *} +import com.sksamuel.elastic4s.ElasticDsl.* import com.sksamuel.elastic4s.requests.searches.aggs.responses.{AggResult, AggSerde} import com.sksamuel.elastic4s.requests.searches.queries.compound.BoolQuery import com.sksamuel.elastic4s.requests.searches.queries.{Query, RangeQuery} @@ -24,7 +24,7 @@ import no.ndla.network.model.RequestInfo import no.ndla.search.AggregationBuilder.{buildTermsAggregation, getAggregationsFromResult} import no.ndla.search.Elastic4sClient import no.ndla.searchapi.Props -import no.ndla.searchapi.model.api.{ErrorHelpers, SubjectAggregation, SubjectAggregations} +import no.ndla.searchapi.model.api.{ErrorHandling, SubjectAggregation, SubjectAggregations} import no.ndla.searchapi.model.domain.{LearningResourceType, SearchResult} import no.ndla.searchapi.model.search.SearchType import no.ndla.searchapi.model.search.settings.MultiDraftSearchSettings @@ -36,7 +36,7 @@ import no.ndla.common.model.domain.Content trait MultiDraftSearchService { this: Elastic4sClient & SearchConverterService & IndexService & SearchService & DraftIndexService & - LearningPathIndexService & Props & ErrorHelpers & DraftConceptIndexService => + LearningPathIndexService & Props & ErrorHandling & DraftConceptIndexService => val multiDraftSearchService: MultiDraftSearchService class MultiDraftSearchService extends StrictLogging with SearchService with TaxonomyFiltering { diff --git a/search-api/src/main/scala/no/ndla/searchapi/service/search/MultiSearchService.scala b/search-api/src/main/scala/no/ndla/searchapi/service/search/MultiSearchService.scala index c0492d357f..4230783cfc 100644 --- a/search-api/src/main/scala/no/ndla/searchapi/service/search/MultiSearchService.scala +++ b/search-api/src/main/scala/no/ndla/searchapi/service/search/MultiSearchService.scala @@ -18,7 +18,7 @@ import no.ndla.network.model.RequestInfo import no.ndla.search.AggregationBuilder.{buildTermsAggregation, getAggregationsFromResult} import no.ndla.search.Elastic4sClient import no.ndla.searchapi.Props -import no.ndla.searchapi.model.api.ErrorHelpers +import no.ndla.searchapi.model.api.ErrorHandling import no.ndla.searchapi.model.domain.SearchResult import no.ndla.searchapi.model.search.SearchType import no.ndla.searchapi.model.search.settings.SearchSettings @@ -30,7 +30,7 @@ import no.ndla.common.model.domain.Content trait MultiSearchService { this: Elastic4sClient & SearchConverterService & SearchService & IndexService & ArticleIndexService & - LearningPathIndexService & Props & ErrorHelpers => + LearningPathIndexService & Props & ErrorHandling => val multiSearchService: MultiSearchService diff --git a/search-api/src/test/scala/no/ndla/searchapi/TestEnvironment.scala b/search-api/src/test/scala/no/ndla/searchapi/TestEnvironment.scala index 9334803319..def30efba4 100644 --- a/search-api/src/test/scala/no/ndla/searchapi/TestEnvironment.scala +++ b/search-api/src/test/scala/no/ndla/searchapi/TestEnvironment.scala @@ -16,7 +16,7 @@ import no.ndla.network.tapir.TapirApplication import no.ndla.search.{BaseIndexService, Elastic4sClient} import no.ndla.searchapi.controller.{InternController, SearchController} import no.ndla.searchapi.integration.* -import no.ndla.searchapi.model.api.ErrorHelpers +import no.ndla.searchapi.model.api.ErrorHandling import no.ndla.searchapi.service.search.* import no.ndla.searchapi.service.ConverterService import org.scalatestplus.mockito.MockitoSugar @@ -49,7 +49,7 @@ trait TestEnvironment with LearningPathIndexService with InternController with SearchApiClient - with ErrorHelpers + with ErrorHandling with Clock with GrepApiClient with Props { diff --git a/tapirtesting/src/main/scala/no/ndla/tapirtesting/TapirControllerTest.scala b/tapirtesting/src/main/scala/no/ndla/tapirtesting/TapirControllerTest.scala index 42edafc4a6..2c4d62c16b 100644 --- a/tapirtesting/src/main/scala/no/ndla/tapirtesting/TapirControllerTest.scala +++ b/tapirtesting/src/main/scala/no/ndla/tapirtesting/TapirControllerTest.scala @@ -10,7 +10,7 @@ package no.ndla.tapirtesting import com.sun.net.httpserver.HttpServer import no.ndla.common.Clock import no.ndla.common.configuration.HasBaseProps -import no.ndla.network.tapir.{Routes, TapirController, TapirErrorHelpers} +import no.ndla.network.tapir.{Routes, TapirController, TapirErrorHandling} import no.ndla.scalatestsuite.UnitTestSuite trait TapirControllerTest @@ -18,7 +18,7 @@ trait TapirControllerTest with Routes with TapirController with HasBaseProps - with TapirErrorHelpers + with TapirErrorHandling with Clock { val serverPort: Int = findFreePort val controller: TapirController