diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index c7cb696b3b..dd2c358016 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -6,3 +6,6 @@ f90502399d78e7a3eb07bd7a1d130e6ae9ba498c # Scala Steward: Reformat with scalafmt 3.9.0 4e66b2f9f7ffe02dd065ceeebb7060ed3478c6e7 + +# Scala Steward: Reformat with scalafmt 3.9.9 +d5d11f01b82d8f2ca3af19a04e3b6d13f036b336 diff --git a/.scalafmt.conf b/.scalafmt.conf index aa3c38c497..e6f51ccf91 100644 --- a/.scalafmt.conf +++ b/.scalafmt.conf @@ -1,4 +1,4 @@ -version = "3.9.6" +version = "3.9.9" preset = default align.preset = some diff --git a/modules/addonlib/src/main/scala/docspell/addons/AddonArchive.scala b/modules/addonlib/src/main/scala/docspell/addons/AddonArchive.scala index 95725c1adb..66317cd922 100644 --- a/modules/addonlib/src/main/scala/docspell/addons/AddonArchive.scala +++ b/modules/addonlib/src/main/scala/docspell/addons/AddonArchive.scala @@ -33,7 +33,7 @@ final case class AddonArchive(url: LenientUri, name: String, version: String) { Files[F] .exists(target) .flatMap { - case true => target.pure[F] + case true => target.pure[F] case false => Files[F].createDirectories(target) *> reader(url) diff --git a/modules/addonlib/src/main/scala/docspell/addons/AddonRunner.scala b/modules/addonlib/src/main/scala/docspell/addons/AddonRunner.scala index 32c40bfe66..6ef0118901 100644 --- a/modules/addonlib/src/main/scala/docspell/addons/AddonRunner.scala +++ b/modules/addonlib/src/main/scala/docspell/addons/AddonRunner.scala @@ -51,7 +51,7 @@ object AddonRunner { runners match { case Nil => failWith("No runner available!") case a :: Nil => a - case _ => + case _ => new AddonRunner[F] { val runnerType: List[RunnerType] = runners.flatMap(_.runnerType).distinct @@ -65,7 +65,7 @@ object AddonRunner { ) .evalMap(_.run(logger, env, ctx)) .flatMap { - case r @ AddonResult.Success(_) => Stream.emit(r.cast.some) + case r @ AddonResult.Success(_) => Stream.emit(r.cast.some) case r @ AddonResult.ExecutionFailed(ex) => if (ctx.meta.isPure) { logger.stream @@ -97,7 +97,7 @@ object AddonRunner { .last .flatMap { case Some(r) => r.pure[F] - case None => + case None => AddonResult .executionFailed(new NoSuchElementException("No runner left :(")) .pure[F] diff --git a/modules/addonlib/src/main/scala/docspell/addons/out/NewItem.scala b/modules/addonlib/src/main/scala/docspell/addons/out/NewItem.scala index 6cd90b2108..ad8ca3c20a 100644 --- a/modules/addonlib/src/main/scala/docspell/addons/out/NewItem.scala +++ b/modules/addonlib/src/main/scala/docspell/addons/out/NewItem.scala @@ -39,7 +39,7 @@ case class NewItem(metadata: Option[Meta], files: List[String]) { Files[F] .exists(file) .flatMap { - case true => file.some.pure[F] + case true => file.some.pure[F] case false => logger .warn(s"File $file doesn't exist. Ignoring it.") diff --git a/modules/analysis/src/main/scala/docspell/analysis/contact/Contact.scala b/modules/analysis/src/main/scala/docspell/analysis/contact/Contact.scala index cbdf05225d..abc61f38e8 100644 --- a/modules/analysis/src/main/scala/docspell/analysis/contact/Contact.scala +++ b/modules/analysis/src/main/scala/docspell/analysis/contact/Contact.scala @@ -48,8 +48,8 @@ object Contact { def isDocspellOpenUpload(str: String): Boolean = { def isUploadPath(p: LenientUri.Path): Boolean = p match { - case LenientUri.RootPath => false - case LenientUri.EmptyPath => false + case LenientUri.RootPath => false + case LenientUri.EmptyPath => false case LenientUri.NonEmptyPath(segs, _) => Ident.fromString(segs.last).isRight && segs.init.takeRight(3) == List("open", "upload", "item") diff --git a/modules/analysis/src/main/scala/docspell/analysis/date/DateFind.scala b/modules/analysis/src/main/scala/docspell/analysis/date/DateFind.scala index c78bc81bf6..228a94f269 100644 --- a/modules/analysis/src/main/scala/docspell/analysis/date/DateFind.scala +++ b/modules/analysis/src/main/scala/docspell/analysis/date/DateFind.scala @@ -192,7 +192,7 @@ object DateFind { def readFirst[A](f: Word => Option[A]): Reader[A] = Reader { - case Nil => Result.Failure + case Nil => Result.Failure case a :: as => f(a).map(value => Result.Success(value, as)).getOrElse(Result.Failure) } diff --git a/modules/backend/src/main/scala/docspell/backend/Config.scala b/modules/backend/src/main/scala/docspell/backend/Config.scala index 9f4497fc20..53bf5c8b48 100644 --- a/modules/backend/src/main/scala/docspell/backend/Config.scala +++ b/modules/backend/src/main/scala/docspell/backend/Config.scala @@ -68,7 +68,7 @@ object Config { val defaultStorePresent = enabledStores.get(defaultStore) match { case Some(_) => Validated.validNec(()) - case None => + case None => Validated.invalidNec(s"Default file store not present: ${defaultStore.id}") } diff --git a/modules/backend/src/main/scala/docspell/backend/auth/Login.scala b/modules/backend/src/main/scala/docspell/backend/auth/Login.scala index 00403b7fe7..29029f8835 100644 --- a/modules/backend/src/main/scala/docspell/backend/auth/Login.scala +++ b/modules/backend/src/main/scala/docspell/backend/auth/Login.scala @@ -315,7 +315,7 @@ object Login { )(sessionKey: String, rememberToken: Option[String]): F[Result] = loginSession(config)(sessionKey).flatMap { case success @ Result.Ok(_, _) => (success: Result).pure[F] - case fail => + case fail => rememberToken match { case Some(token) => loginRememberMe(config)(token) diff --git a/modules/backend/src/main/scala/docspell/backend/item/Merge.scala b/modules/backend/src/main/scala/docspell/backend/item/Merge.scala index b463f1a82b..b7a3ff89e6 100644 --- a/modules/backend/src/main/scala/docspell/backend/item/Merge.scala +++ b/modules/backend/src/main/scala/docspell/backend/item/Merge.scala @@ -137,8 +137,8 @@ object Merge { private def mergeFieldSameName(fields: NonEmptyList[FieldValue]): FieldValue = fields.head.field.ftype match { - case CustomFieldType.Bool => fields.head - case CustomFieldType.Date => fields.head + case CustomFieldType.Bool => fields.head + case CustomFieldType.Date => fields.head case CustomFieldType.Money => val amount = fields.toList diff --git a/modules/backend/src/main/scala/docspell/backend/ops/OItem.scala b/modules/backend/src/main/scala/docspell/backend/ops/OItem.scala index 9b79643132..cf6f2f0038 100644 --- a/modules/backend/src/main/scala/docspell/backend/ops/OItem.scala +++ b/modules/backend/src/main/scala/docspell/backend/ops/OItem.scala @@ -295,7 +295,7 @@ object OItem { ): F[AttachedEvent[UpdateResult]] = tags.distinct match { case Nil => AttachedEvent.only(UpdateResult.success).pure[F] - case ws => + case ws => store .transact { (for { @@ -347,7 +347,7 @@ object OItem { ): F[AttachedEvent[UpdateResult]] = tags.distinct match { case Nil => AttachedEvent.only(UpdateResult.success).pure[F] - case ws => + case ws => store.transact { (for { itemIds <- OptionT @@ -692,7 +692,7 @@ object OItem { .attempt .flatMap { case Right(()) => ().pure[F] - case Left(ex) => + case Left(ex) => logger.warn(s"Error updating full-text index: ${ex.getMessage}") } .as(UpdateResult.success) @@ -915,7 +915,7 @@ object OItem { case UpdateResult.Success => update.attempt.flatMap { case Right(()) => ().pure[F] - case Left(ex) => + case Left(ex) => logger.warn(s"Error updating full-text index: ${ex.getMessage}") } case UpdateResult.Failure(_) => diff --git a/modules/backend/src/main/scala/docspell/backend/ops/OItemLink.scala b/modules/backend/src/main/scala/docspell/backend/ops/OItemLink.scala index bfa3b67589..ea9ac2ea97 100644 --- a/modules/backend/src/main/scala/docspell/backend/ops/OItemLink.scala +++ b/modules/backend/src/main/scala/docspell/backend/ops/OItemLink.scala @@ -94,7 +94,7 @@ object OItemLink { store.add(insert, exists).flatMap { case AddResult.Success => ().pure[F] case AddResult.EntityExists(_) => ().pure[F] - case AddResult.Failure(ex) => + case AddResult.Failure(ex) => Sync[F].raiseError(ex) } } diff --git a/modules/backend/src/main/scala/docspell/backend/ops/OMail.scala b/modules/backend/src/main/scala/docspell/backend/ops/OMail.scala index d8d8f1298f..d700694a09 100644 --- a/modules/backend/src/main/scala/docspell/backend/ops/OMail.scala +++ b/modules/backend/src/main/scala/docspell/backend/ops/OMail.scala @@ -299,7 +299,7 @@ object OMail { store.transact(save.value).attempt.map { case Right(Some(id)) => Right(id) - case Right(None) => + case Right(None) => Left( SendResult .StoreFailure(new Exception(s"Could not find user to save mail.")) diff --git a/modules/backend/src/main/scala/docspell/backend/ops/ONotification.scala b/modules/backend/src/main/scala/docspell/backend/ops/ONotification.scala index 1cfb793b42..c08da2ef38 100644 --- a/modules/backend/src/main/scala/docspell/backend/ops/ONotification.scala +++ b/modules/backend/src/main/scala/docspell/backend/ops/ONotification.scala @@ -118,7 +118,7 @@ object ONotification { } yield res).attempt .map { case Right(res) => res - case Left(ex) => + case Left(ex) => val ev = LogEvent.of(Level.Error, "Failed sending sample event").addError(ex) SendTestResult(success = false, Vector(ev)) diff --git a/modules/backend/src/main/scala/docspell/backend/ops/OUpload.scala b/modules/backend/src/main/scala/docspell/backend/ops/OUpload.scala index a5e5f9eb01..84736ede99 100644 --- a/modules/backend/src/main/scala/docspell/backend/ops/OUpload.scala +++ b/modules/backend/src/main/scala/docspell/backend/ops/OUpload.scala @@ -141,7 +141,7 @@ object OUpload { _ <- checkFileList(files) lang <- data.meta.language match { case Some(lang) => right(lang.pure[F]) - case None => + case None => right( store .transact(RCollective.findLanguage(collectiveId)) diff --git a/modules/common/src/main/scala/docspell/common/FileKeyPart.scala b/modules/common/src/main/scala/docspell/common/FileKeyPart.scala index 8693f07f87..ad70a8e88b 100644 --- a/modules/common/src/main/scala/docspell/common/FileKeyPart.scala +++ b/modules/common/src/main/scala/docspell/common/FileKeyPart.scala @@ -26,7 +26,7 @@ object FileKeyPart { implicit val jsonEncoder: Encoder[FileKeyPart] = Encoder.instance { - case Empty => ().asJson + case Empty => ().asJson case Collective(cid) => Map("collective" -> cid.asJson).asJson case Category(cid, cat) => diff --git a/modules/common/src/main/scala/docspell/common/LenientUri.scala b/modules/common/src/main/scala/docspell/common/LenientUri.scala index 2e2e17a058..370ccd72fe 100644 --- a/modules/common/src/main/scala/docspell/common/LenientUri.scala +++ b/modules/common/src/main/scala/docspell/common/LenientUri.scala @@ -161,8 +161,8 @@ object LenientUri { def parse(str: String): Either[String, LenientUri] = { def makePath(str: String): Either[String, Path] = str.trim match { - case "/" => Right(RootPath) - case "" => Right(EmptyPath) + case "/" => Right(RootPath) + case "" => Right(EmptyPath) case uriStr => Either.fromOption( stripLeading(uriStr, '/') diff --git a/modules/common/src/main/scala/docspell/common/MimeType.scala b/modules/common/src/main/scala/docspell/common/MimeType.scala index 8b74a2c721..fd6bcd1f72 100644 --- a/modules/common/src/main/scala/docspell/common/MimeType.scala +++ b/modules/common/src/main/scala/docspell/common/MimeType.scala @@ -190,7 +190,7 @@ object MimeType { private val charset: P[Option[Charset]] = in => in.trim.toLowerCase.indexOf("charset=") match { case -1 => Right((None, in)) - case n => + case n => val csValueStart = in.substring(n + "charset=".length).trim val csName = csValueStart.indexOf(';') match { case -1 => unquote(csValueStart).trim diff --git a/modules/common/src/main/scala/docspell/common/exec/SysExec.scala b/modules/common/src/main/scala/docspell/common/exec/SysExec.scala index a53a4c6ff9..885d0b14ae 100644 --- a/modules/common/src/main/scala/docspell/common/exec/SysExec.scala +++ b/modules/common/src/main/scala/docspell/common/exec/SysExec.scala @@ -132,7 +132,7 @@ object SysExec { ): F[Int] = logOutputs(logger, basicName).use(_.waitFor(timeout).flatMap { case rc if rc == 0 => Sync[F].pure(0) - case rc => + case rc => Sync[F].raiseError( new Exception(s"Command `${cmd.program}` returned non-zero exit code ${rc}") ) @@ -150,7 +150,7 @@ object SysExec { waitFor(timeout) .flatMap { case rc if rc == 0 => stdout.through(fs2.text.utf8.decode).compile.string - case rc => + case rc => Sync[F].raiseError[String]( new Exception( s"Command `${cmd.program}` returned non-zero exit code ${rc}" diff --git a/modules/common/src/main/scala/docspell/common/util/Directory.scala b/modules/common/src/main/scala/docspell/common/util/Directory.scala index 8002bc85f2..a4538ab059 100644 --- a/modules/common/src/main/scala/docspell/common/util/Directory.scala +++ b/modules/common/src/main/scala/docspell/common/util/Directory.scala @@ -91,7 +91,7 @@ object Directory { nonEmpty(subdir) .flatMap { case false => false.pure[F] - case true => + case true => for { _ <- Files[F] .list(subdir) diff --git a/modules/config/src/main/scala/docspell/config/EnvConfig.scala b/modules/config/src/main/scala/docspell/config/EnvConfig.scala index 37e0559683..83e5bdc736 100644 --- a/modules/config/src/main/scala/docspell/config/EnvConfig.scala +++ b/modules/config/src/main/scala/docspell/config/EnvConfig.scala @@ -65,7 +65,7 @@ object EnvConfig { else v.charAt(current) match { case '_' => go(current + 1, underscores + 1) - case c => + case c => if (underscores > 0) { buffer.append(underscoreMapping(underscores)) } diff --git a/modules/config/src/main/scala/docspell/config/Validation.scala b/modules/config/src/main/scala/docspell/config/Validation.scala index 2c4528a769..230004c228 100644 --- a/modules/config/src/main/scala/docspell/config/Validation.scala +++ b/modules/config/src/main/scala/docspell/config/Validation.scala @@ -14,7 +14,7 @@ final case class Validation[C](run: C => ValidatedNec[String, C]) { def validOrThrow(c: C): C = run(c) match { - case Validated.Valid(cfg) => cfg + case Validated.Valid(cfg) => cfg case Validated.Invalid(errs) => val msg = errs.toList.mkString("- ", "\n- ", "\n") throw sys.error(s"\n\n$msg") @@ -23,10 +23,10 @@ final case class Validation[C](run: C => ValidatedNec[String, C]) { def andThen(next: Validation[C]): Validation[C] = Validation(c => run(c) match { - case Validated.Valid(c2) => next.run(c2) + case Validated.Valid(c2) => next.run(c2) case f: Validated.Invalid[NonEmptyChain[String]] => next.run(c) match { - case Validated.Valid(_) => f + case Validated.Valid(_) => f case Validated.Invalid(errs2) => Validation.invalid(f.e ++ errs2) } diff --git a/modules/fts-solr/src/main/scala/docspell/ftssolr/SolrFtsClient.scala b/modules/fts-solr/src/main/scala/docspell/ftssolr/SolrFtsClient.scala index 97748aba39..ba7c4212e6 100644 --- a/modules/fts-solr/src/main/scala/docspell/ftssolr/SolrFtsClient.scala +++ b/modules/fts-solr/src/main/scala/docspell/ftssolr/SolrFtsClient.scala @@ -58,7 +58,7 @@ final class SolrFtsClient[F[_]: Async]( res <- Stream.eval(f(chunks.toList).attempt) _ <- res match { case Right(()) => Stream.emit(()) - case Left(ex) => + case Left(ex) => Stream.eval(logger.error(ex)("Error updating with chunk of data")) } } yield ()).compile.drain diff --git a/modules/fts-solr/src/main/scala/docspell/ftssolr/SolrSetup.scala b/modules/fts-solr/src/main/scala/docspell/ftssolr/SolrSetup.scala index 20765e2e31..71ed30433e 100644 --- a/modules/fts-solr/src/main/scala/docspell/ftssolr/SolrSetup.scala +++ b/modules/fts-solr/src/main/scala/docspell/ftssolr/SolrSetup.scala @@ -45,7 +45,7 @@ object SolrSetup { for { current <- SolrQuery(cfg, client).findVersionDoc(versionDocId) migs = current match { - case None => setupSchema + case None => setupSchema case Some(ver) => val verDoc = VersionDoc(versionDocId, allMigrations.map(_.value.version).max) diff --git a/modules/joex/src/main/scala/docspell/joex/pdfconv/PdfConvTask.scala b/modules/joex/src/main/scala/docspell/joex/pdfconv/PdfConvTask.scala index 8fe5e62e60..300726a537 100644 --- a/modules/joex/src/main/scala/docspell/joex/pdfconv/PdfConvTask.scala +++ b/modules/joex/src/main/scala/docspell/joex/pdfconv/PdfConvTask.scala @@ -80,7 +80,7 @@ object PdfConvTask { if (cfg.convert.ocrmypdf.enabled) checkSameFiles.flatMap { - case true => existsPdf + case true => existsPdf case false => ctx.logger.info( s"The attachment ${ctx.args.attachId} already has been converted. Skipping." diff --git a/modules/joex/src/main/scala/docspell/joex/process/EvalProposals.scala b/modules/joex/src/main/scala/docspell/joex/process/EvalProposals.scala index 92d4d0130f..ed985bc0a9 100644 --- a/modules/joex/src/main/scala/docspell/joex/process/EvalProposals.scala +++ b/modules/joex/src/main/scala/docspell/joex/process/EvalProposals.scala @@ -112,10 +112,10 @@ object EvalProposals { def nerTagFactor(tag: NerTag, mt: MetaProposalType): Double = tag match { - case NerTag.Date => 1.0 - case NerTag.Email => 0.5 - case NerTag.Location => 1.0 - case NerTag.Misc => 1.0 + case NerTag.Date => 1.0 + case NerTag.Email => 0.5 + case NerTag.Location => 1.0 + case NerTag.Misc => 1.0 case NerTag.Organization => if (mt == MetaProposalType.CorrOrg) 0.8 else 1.0 diff --git a/modules/joex/src/main/scala/docspell/joex/process/SaveProposals.scala b/modules/joex/src/main/scala/docspell/joex/process/SaveProposals.scala index fc17a54f87..ec63c80754 100644 --- a/modules/joex/src/main/scala/docspell/joex/process/SaveProposals.scala +++ b/modules/joex/src/main/scala/docspell/joex/process/SaveProposals.scala @@ -41,7 +41,7 @@ object SaveProposals { ): F[Unit] = { def upsert(v: RItemProposal): F[Int] = store.add(RItemProposal.insert(v), RItemProposal.exists(v.itemId)).flatMap { - case AddResult.Success => 1.pure[F] + case AddResult.Success => 1.pure[F] case AddResult.EntityExists(_) => store.transact(RItemProposal.update(v)) case AddResult.Failure(ex) => diff --git a/modules/joex/src/main/scala/docspell/joex/scanmailbox/ScanMailboxTask.scala b/modules/joex/src/main/scala/docspell/joex/scanmailbox/ScanMailboxTask.scala index cdff89ea41..65ccc00799 100644 --- a/modules/joex/src/main/scala/docspell/joex/scanmailbox/ScanMailboxTask.scala +++ b/modules/joex/src/main/scala/docspell/joex/scanmailbox/ScanMailboxTask.scala @@ -64,7 +64,7 @@ object ScanMailboxTask { .transact(RUserImap.getByName(ctx.args.account.userId, ctx.args.imapConnection)) .flatMap { case Some(c) => c.pure[F] - case None => + case None => Sync[F].raiseError( new Exception( s"No imap configuration found for: ${ctx.args.imapConnection.id}" diff --git a/modules/jsonminiq/src/main/scala/docspell/jsonminiq/Format.scala b/modules/jsonminiq/src/main/scala/docspell/jsonminiq/Format.scala index 2428c19da9..05de1725c4 100644 --- a/modules/jsonminiq/src/main/scala/docspell/jsonminiq/Format.scala +++ b/modules/jsonminiq/src/main/scala/docspell/jsonminiq/Format.scala @@ -13,8 +13,8 @@ private[jsonminiq] object Format { def apply(q: JsonMiniQuery): Either[String, String] = q match { - case JsonMiniQuery.Empty => Right("") - case JsonMiniQuery.Identity => Right("") + case JsonMiniQuery.Empty => Right("") + case JsonMiniQuery.Identity => Right("") case JsonMiniQuery.Fields(fields) => Right(fields.toVector.mkString(",")) diff --git a/modules/notification/api/src/main/scala/docspell/notification/api/NotificationBackend.scala b/modules/notification/api/src/main/scala/docspell/notification/api/NotificationBackend.scala index 5433c34b2d..aa12f955e2 100644 --- a/modules/notification/api/src/main/scala/docspell/notification/api/NotificationBackend.scala +++ b/modules/notification/api/src/main/scala/docspell/notification/api/NotificationBackend.scala @@ -76,7 +76,7 @@ object NotificationBackend { bes: NonEmptyList[NotificationBackend[F]] ): NotificationBackend[F] = bes.tail match { - case Nil => bes.head + case Nil => bes.head case next :: Nil => Combined(NonEmptyList.of(bes.head, next)) case next :: more => diff --git a/modules/pubsub/api/src/main/scala/docspell/pubsub/api/PubSubT.scala b/modules/pubsub/api/src/main/scala/docspell/pubsub/api/PubSubT.scala index 20c964dd8a..f4528a6ac6 100644 --- a/modules/pubsub/api/src/main/scala/docspell/pubsub/api/PubSubT.scala +++ b/modules/pubsub/api/src/main/scala/docspell/pubsub/api/PubSubT.scala @@ -55,7 +55,7 @@ object PubSubT { .subscribe(NonEmptyList.of(topic.topic)) .flatMap(m => m.body.as[A](topic.codec) match { - case Right(a) => Stream.emit(Message(m.head, a)) + case Right(a) => Stream.emit(Message(m.head, a)) case Left(err) => logger.stream .error(err)( diff --git a/modules/restserver/src/main/scala/docspell/restserver/conv/Conversions.scala b/modules/restserver/src/main/scala/docspell/restserver/conv/Conversions.scala index 78babc04bb..20e3c66398 100644 --- a/modules/restserver/src/main/scala/docspell/restserver/conv/Conversions.scala +++ b/modules/restserver/src/main/scala/docspell/restserver/conv/Conversions.scala @@ -663,7 +663,7 @@ trait Conversions { ar match { case AddResult.Success => IdResult(success = true, successMsg, id) case AddResult.EntityExists(msg) => IdResult(success = false, msg, Ident.unsafe("")) - case AddResult.Failure(ex) => + case AddResult.Failure(ex) => IdResult(success = false, s"Internal error: ${ex.getMessage}", Ident.unsafe("")) } @@ -671,14 +671,14 @@ trait Conversions { ar match { case AddResult.Success => BasicResult(success = true, successMsg) case AddResult.EntityExists(msg) => BasicResult(success = false, msg) - case AddResult.Failure(ex) => + case AddResult.Failure(ex) => BasicResult(success = false, s"Internal error: ${ex.getMessage}") } def basicResult(ar: UpdateResult, successMsg: String): BasicResult = ar match { - case UpdateResult.Success => BasicResult(success = true, successMsg) - case UpdateResult.NotFound => BasicResult(success = false, "Not found") + case UpdateResult.Success => BasicResult(success = true, successMsg) + case UpdateResult.NotFound => BasicResult(success = false, "Not found") case UpdateResult.Failure(ex) => BasicResult(success = false, s"Error: ${ex.getMessage}") } diff --git a/modules/restserver/src/main/scala/docspell/restserver/conv/MultiIdSupport.scala b/modules/restserver/src/main/scala/docspell/restserver/conv/MultiIdSupport.scala index 6b03e34a1e..76400b144a 100644 --- a/modules/restserver/src/main/scala/docspell/restserver/conv/MultiIdSupport.scala +++ b/modules/restserver/src/main/scala/docspell/restserver/conv/MultiIdSupport.scala @@ -31,7 +31,7 @@ trait MultiIdSupport { ): F[NonEmptyList[Ident]] = ids.traverse(readId[F]).map(NonEmptyList.fromList).flatMap { case Some(nel) => nel.pure[F] - case None => + case None => F.raiseError( DecodingFailure("Empty list found, at least one element required", Nil) ) diff --git a/modules/restserver/src/main/scala/docspell/restserver/conv/NonEmptyListSupport.scala b/modules/restserver/src/main/scala/docspell/restserver/conv/NonEmptyListSupport.scala index ca64a3780c..3ab1613b93 100644 --- a/modules/restserver/src/main/scala/docspell/restserver/conv/NonEmptyListSupport.scala +++ b/modules/restserver/src/main/scala/docspell/restserver/conv/NonEmptyListSupport.scala @@ -14,7 +14,7 @@ trait NonEmptyListSupport { def requireNonEmpty[F[_]: Sync, A](list: List[A]): F[NonEmptyList[A]] = NonEmptyList.fromList(list) match { case Some(nel) => Sync[F].pure(nel) - case None => + case None => Sync[F].raiseError(new IllegalArgumentException("Empty list not allowed")) } } diff --git a/modules/restserver/src/main/scala/docspell/restserver/routes/NotificationRoutes.scala b/modules/restserver/src/main/scala/docspell/restserver/routes/NotificationRoutes.scala index b28b68521b..05bb33eedc 100644 --- a/modules/restserver/src/main/scala/docspell/restserver/routes/NotificationRoutes.scala +++ b/modules/restserver/src/main/scala/docspell/restserver/routes/NotificationRoutes.scala @@ -171,7 +171,7 @@ object NotificationRoutes extends NonEmptyListSupport { baseUrl.some ) resp <- data.asJsonWithMessage match { - case Right(m) => Ok(m) + case Right(m) => Ok(m) case Left(err) => BadRequest(BasicResult(success = false, s"Unable to render message: $err")) } diff --git a/modules/restserver/src/main/scala/docspell/restserver/routes/ShareRoutes.scala b/modules/restserver/src/main/scala/docspell/restserver/routes/ShareRoutes.scala index 9e56f94285..d81c1d0f23 100644 --- a/modules/restserver/src/main/scala/docspell/restserver/routes/ShareRoutes.scala +++ b/modules/restserver/src/main/scala/docspell/restserver/routes/ShareRoutes.scala @@ -157,7 +157,7 @@ object ShareRoutes { def mkIdResult(r: OShare.ChangeResult, msg: => String): IdResult = r match { - case OShare.ChangeResult.Success(id) => IdResult(success = true, msg, id) + case OShare.ChangeResult.Success(id) => IdResult(success = true, msg, id) case OShare.ChangeResult.PublishUntilInPast => IdResult(success = false, "Until date must not be in the past", Ident.unsafe("")) case OShare.ChangeResult.NotFound => @@ -176,7 +176,7 @@ object ShareRoutes { def mkBasicResult(r: OShare.ChangeResult, msg: => String): BasicResult = r match { - case OShare.ChangeResult.Success(_) => BasicResult(success = true, msg) + case OShare.ChangeResult.Success(_) => BasicResult(success = true, msg) case OShare.ChangeResult.PublishUntilInPast => BasicResult(success = false, "Until date must not be in the past") case OShare.ChangeResult.NotFound => diff --git a/modules/scheduler/impl/src/main/scala/docspell/scheduler/impl/JobStoreImpl.scala b/modules/scheduler/impl/src/main/scala/docspell/scheduler/impl/JobStoreImpl.scala index d150a2ebae..f1c45fb797 100644 --- a/modules/scheduler/impl/src/main/scala/docspell/scheduler/impl/JobStoreImpl.scala +++ b/modules/scheduler/impl/src/main/scala/docspell/scheduler/impl/JobStoreImpl.scala @@ -56,7 +56,7 @@ final class JobStoreImpl[F[_]: Sync](store: Store[F]) extends JobStore[F] { .traverse(j => insert0(j, now).attempt) .flatMap(_.traverse { case Right(()) => true.pure[F] - case Left(ex) => + case Left(ex) => logger.error(ex)("Could not insert job. Skipping it.").as(false) }) } @@ -68,7 +68,7 @@ final class JobStoreImpl[F[_]: Sync](store: Store[F]) extends JobStore[F] { .flatMap(_.traverse { case Right(true) => true.pure[F] case Right(false) => false.pure[F] - case Left(ex) => + case Left(ex) => logger.error(ex)("Could not insert job. Skipping it.").as(false) }) } diff --git a/modules/scheduler/impl/src/main/scala/docspell/scheduler/impl/SchedulerImpl.scala b/modules/scheduler/impl/src/main/scala/docspell/scheduler/impl/SchedulerImpl.scala index 2fb7c6424c..fc67be5180 100644 --- a/modules/scheduler/impl/src/main/scala/docspell/scheduler/impl/SchedulerImpl.scala +++ b/modules/scheduler/impl/src/main/scala/docspell/scheduler/impl/SchedulerImpl.scala @@ -87,7 +87,7 @@ final class SchedulerImpl[F[_]: Async]( logger.info(s"Scheduler requested to cancel job: ${jobId.id}") *> state.get.flatMap(_.cancelRequest(jobId) match { case Some(ct) => ct.map(_ => true) - case None => + case None => (for { job <- OptionT(store.transact(RJob.findByIdAndWorker(jobId, config.name))) _ <- OptionT.liftF( diff --git a/modules/store/src/main/scala/db/migration/common/MigrateNotifyTasks.scala b/modules/store/src/main/scala/db/migration/common/MigrateNotifyTasks.scala index f06636ec4d..7335d5130b 100644 --- a/modules/store/src/main/scala/db/migration/common/MigrateNotifyTasks.scala +++ b/modules/store/src/main/scala/db/migration/common/MigrateNotifyTasks.scala @@ -74,7 +74,7 @@ object MigrateNotifyTasks extends TransactorSupport { val recs = old.recipients .map(MailAddress.parse) .flatMap { - case Right(m) => Some(m) + case Right(m) => Some(m) case Left(err) => logger.warn(s"Cannot read mail address: $err. Skip this while migrating.") None diff --git a/modules/store/src/main/scala/db/migration/data/FileIntegrityCheckArgs.scala b/modules/store/src/main/scala/db/migration/data/FileIntegrityCheckArgs.scala index 757c56fb7b..b736e407da 100644 --- a/modules/store/src/main/scala/db/migration/data/FileIntegrityCheckArgs.scala +++ b/modules/store/src/main/scala/db/migration/data/FileIntegrityCheckArgs.scala @@ -51,7 +51,7 @@ object FileIntegrityCheckArgs { implicit val jsonEncoder: Encoder[FileKeyPart] = Encoder.instance { - case Empty => ().asJson + case Empty => ().asJson case Collective(cid) => Map("collective" -> cid.asJson).asJson case Category(cid, cat) => diff --git a/modules/store/src/main/scala/docspell/store/file/FileUrlReader.scala b/modules/store/src/main/scala/docspell/store/file/FileUrlReader.scala index dfdd1bd1e5..84f0a72537 100644 --- a/modules/store/src/main/scala/docspell/store/file/FileUrlReader.scala +++ b/modules/store/src/main/scala/docspell/store/file/FileUrlReader.scala @@ -42,7 +42,7 @@ object FileUrlReader { .evalMap(key => repo.findMeta(key).map(m => (key, m))) .flatMap { case _ -> Some(m) => repo.getBytes(m.id) - case key -> None => + case key -> None => Stream.raiseError( new NoSuchElementException( s"File not found for url '${url.asString}' (key=$key)" diff --git a/modules/store/src/main/scala/docspell/store/impl/StoreImpl.scala b/modules/store/src/main/scala/docspell/store/impl/StoreImpl.scala index 5da983be1a..d239b49c92 100644 --- a/modules/store/src/main/scala/docspell/store/impl/StoreImpl.scala +++ b/modules/store/src/main/scala/docspell/store/impl/StoreImpl.scala @@ -55,7 +55,7 @@ final class StoreImpl[F[_]: Async: Files]( save <- transact(insert).attempt exist <- save.swap.traverse(ex => transact(exists).map(b => (ex, b))) } yield exist.swap match { - case Right(_) => AddResult.Success + case Right(_) => AddResult.Success case Left((_, true)) => AddResult.EntityExists("Adding failed, because the entity already exists.") case Left((ex, _)) => AddResult.Failure(ex) diff --git a/modules/store/src/main/scala/docspell/store/queries/QItem.scala b/modules/store/src/main/scala/docspell/store/queries/QItem.scala index eec2d9164b..2a6e1ef279 100644 --- a/modules/store/src/main/scala/docspell/store/queries/QItem.scala +++ b/modules/store/src/main/scala/docspell/store/queries/QItem.scala @@ -508,7 +508,7 @@ object QItem extends FtsSupport { query.attemptSql.flatMap { case Right(res) => res.pure[ConnectionIO] - case Left(ex) => + case Left(ex) => logger .error(ex)( s"Calculating custom field summary failed. You may have invalid custom field values according to their type." diff --git a/modules/store/src/main/scala/docspell/store/records/RFolder.scala b/modules/store/src/main/scala/docspell/store/records/RFolder.scala index 37f9c8569a..14f82b41ce 100644 --- a/modules/store/src/main/scala/docspell/store/records/RFolder.scala +++ b/modules/store/src/main/scala/docspell/store/records/RFolder.scala @@ -90,7 +90,7 @@ object RFolder { ) sql.query[Ident].option.flatMap { case Some(id) => id.pure[ConnectionIO] - case None => + case None => Sync[ConnectionIO].raiseError( new Exception(s"No folder found for: id=${folderId.id} or name=$name") ) diff --git a/modules/store/src/main/scala/docspell/store/records/RInternalSetting.scala b/modules/store/src/main/scala/docspell/store/records/RInternalSetting.scala index 92d020af56..ce1d753ccb 100644 --- a/modules/store/src/main/scala/docspell/store/records/RInternalSetting.scala +++ b/modules/store/src/main/scala/docspell/store/records/RInternalSetting.scala @@ -56,7 +56,7 @@ object RInternalSetting { s0 <- read.option s <- s0 match { case Some(a) => a.pure[ConnectionIO] - case None => + case None => insert.attemptSql *> withoutTransaction(read.unique) } } yield s diff --git a/modules/store/src/main/scala/docspell/store/records/RTag.scala b/modules/store/src/main/scala/docspell/store/records/RTag.scala index b1e432c6dd..a335144dce 100644 --- a/modules/store/src/main/scala/docspell/store/records/RTag.scala +++ b/modules/store/src/main/scala/docspell/store/records/RTag.scala @@ -171,7 +171,7 @@ object RTag { def sort(tags: List[RTag]): List[RTag] = tags match { case Nil => tags - case _ => + case _ => val byCat = tags .groupBy(_.category) .view