Prepare custom fields

This commit is contained in:
Eike Kettner
2020-09-28 22:54:35 +02:00
parent 0f45e1b097
commit 248ad04dd0
11 changed files with 297 additions and 21 deletions

View File

@ -85,7 +85,8 @@ object RestServer {
"usertask/scanmailbox" -> ScanMailboxRoutes(restApp.backend, token),
"calevent/check" -> CalEventCheckRoutes(),
"fts" -> FullTextIndexRoutes.secured(cfg, restApp.backend, token),
"folder" -> FolderRoutes(restApp.backend, token)
"folder" -> FolderRoutes(restApp.backend, token),
"customfield" -> CustomFieldRoutes(restApp.backend, token)
)
def openRoutes[F[_]: Effect](cfg: Config, restApp: RestApp[F]): HttpRoutes[F] =

View File

@ -0,0 +1,35 @@
package docspell.restserver.routes
import cats.effect._
import cats.implicits._
import docspell.backend.BackendApp
import docspell.backend.auth.AuthToken
import docspell.restapi.model._
import docspell.restserver.http4s._
import org.http4s.HttpRoutes
//import org.http4s.circe.CirceEntityDecoder._
import org.http4s.circe.CirceEntityEncoder._
import org.http4s.dsl.Http4sDsl
import docspell.store.records.RCustomField
object CustomFieldRoutes {
def apply[F[_]: Effect](backend: BackendApp[F], user: AuthToken): HttpRoutes[F] = {
val dsl = new Http4sDsl[F] with ResponseGenerator[F] {}
import dsl._
HttpRoutes.of {
case GET -> Root =>
for {
fs <- backend.customFields.findAll(user.account.collective)
res <- Ok(CustomFieldList(fs.map(convertField).toList))
} yield res
}
}
private def convertField(f: RCustomField): CustomField =
CustomField(f.id, f.name, f.ftype, f.created)
}