mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-21 18:08:25 +00:00
Use doobie support from emil project
This commit is contained in:
@ -6,6 +6,8 @@ import org.http4s._
|
||||
import org.http4s.dsl.Http4sDsl
|
||||
import org.http4s.circe.CirceEntityEncoder._
|
||||
import org.http4s.circe.CirceEntityDecoder._
|
||||
import emil.MailAddress
|
||||
import emil.javamail.syntax._
|
||||
|
||||
import docspell.backend.BackendApp
|
||||
import docspell.backend.auth.AuthToken
|
||||
@ -13,7 +15,6 @@ import docspell.backend.ops.OMail.{AttachSelection, ItemMail}
|
||||
import docspell.backend.ops.SendResult
|
||||
import docspell.common._
|
||||
import docspell.restapi.model._
|
||||
import docspell.store.EmilUtil
|
||||
|
||||
object MailSendRoutes {
|
||||
|
||||
@ -37,7 +38,7 @@ object MailSendRoutes {
|
||||
|
||||
def convertIn(item: Ident, s: SimpleMail): Either[String, ItemMail] =
|
||||
for {
|
||||
rec <- s.recipients.traverse(EmilUtil.readMailAddress)
|
||||
rec <- s.recipients.traverse(MailAddress.parse)
|
||||
fileIds <- s.attachmentIds.traverse(Ident.fromString)
|
||||
sel = if (s.addAllAttachments) AttachSelection.All else AttachSelection.Selected(fileIds)
|
||||
} yield ItemMail(item, s.subject, rec, s.body, sel)
|
||||
|
@ -7,7 +7,8 @@ import org.http4s._
|
||||
import org.http4s.dsl.Http4sDsl
|
||||
import org.http4s.circe.CirceEntityEncoder._
|
||||
import org.http4s.circe.CirceEntityDecoder._
|
||||
import emil.MailAddress
|
||||
import emil.{MailAddress, SSLType}
|
||||
import emil.javamail.syntax._
|
||||
|
||||
import docspell.backend.BackendApp
|
||||
import docspell.backend.auth.AuthToken
|
||||
@ -15,7 +16,6 @@ import docspell.backend.ops.OMail
|
||||
import docspell.common._
|
||||
import docspell.restapi.model._
|
||||
import docspell.store.records.RUserEmail
|
||||
import docspell.store.EmilUtil
|
||||
import docspell.restserver.conv.Conversions
|
||||
import docspell.restserver.http4s.QueryParam
|
||||
|
||||
@ -90,15 +90,15 @@ object MailSettingsRoutes {
|
||||
ru.smtpPort,
|
||||
ru.smtpUser,
|
||||
ru.smtpPassword,
|
||||
EmilUtil.mailAddressString(ru.mailFrom),
|
||||
ru.mailReplyTo.map(EmilUtil.mailAddressString _),
|
||||
EmilUtil.sslTypeString(ru.smtpSsl),
|
||||
ru.mailFrom.asUnicodeString,
|
||||
ru.mailReplyTo.map(_.asUnicodeString),
|
||||
ru.smtpSsl.name,
|
||||
!ru.smtpCertCheck
|
||||
)
|
||||
|
||||
def makeSettings(ems: EmailSettings): Either[String, OMail.SmtpSettings] = {
|
||||
def readMail(str: String): Either[String, MailAddress] =
|
||||
EmilUtil.readMailAddress(str).left.map(err => s"E-Mail address '$str' invalid: $err")
|
||||
MailAddress.parse(str).left.map(err => s"E-Mail address '$str' invalid: $err")
|
||||
|
||||
def readMailOpt(str: Option[String]): Either[String, Option[MailAddress]] =
|
||||
str.traverse(readMail)
|
||||
@ -106,7 +106,7 @@ object MailSettingsRoutes {
|
||||
for {
|
||||
from <- readMail(ems.from)
|
||||
repl <- readMailOpt(ems.replyTo)
|
||||
sslt <- EmilUtil.readSSLType(ems.sslType)
|
||||
sslt <- SSLType.fromString(ems.sslType)
|
||||
} yield OMail.SmtpSettings(
|
||||
ems.name,
|
||||
ems.smtpHost,
|
||||
|
@ -6,13 +6,13 @@ import cats.data.OptionT
|
||||
import org.http4s._
|
||||
import org.http4s.dsl.Http4sDsl
|
||||
import org.http4s.circe.CirceEntityEncoder._
|
||||
import emil.javamail.syntax._
|
||||
|
||||
import docspell.backend.BackendApp
|
||||
import docspell.backend.auth.AuthToken
|
||||
import docspell.backend.ops.OMail.Sent
|
||||
import docspell.common._
|
||||
import docspell.restapi.model._
|
||||
import docspell.store.EmilUtil
|
||||
|
||||
object SentMailRoutes {
|
||||
|
||||
@ -46,7 +46,7 @@ object SentMailRoutes {
|
||||
s.id,
|
||||
s.senderLogin,
|
||||
s.connectionName,
|
||||
s.recipients.map(EmilUtil.mailAddressString),
|
||||
s.recipients.map(_.asUnicodeString),
|
||||
s.subject,
|
||||
s.body,
|
||||
s.created
|
||||
|
Reference in New Issue
Block a user