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

@ -36,6 +36,7 @@ trait BackendApp[F[_]] {
def joex: OJoex[F]
def userTask: OUserTask[F]
def folder: OFolder[F]
def customFields: OCustomFields[F]
}
object BackendApp {
@ -66,27 +67,29 @@ object BackendApp {
fulltextImpl <- OFulltext(itemSearchImpl, ftsClient, store, queue, joexImpl)
javaEmil =
JavaMailEmil(blocker, Settings.defaultSettings.copy(debug = cfg.mailDebug))
mailImpl <- OMail(store, javaEmil)
userTaskImpl <- OUserTask(utStore, queue, joexImpl)
folderImpl <- OFolder(store)
mailImpl <- OMail(store, javaEmil)
userTaskImpl <- OUserTask(utStore, queue, joexImpl)
folderImpl <- OFolder(store)
customFieldsImpl <- OCustomFields(store)
} yield new BackendApp[F] {
val login: Login[F] = loginImpl
val signup: OSignup[F] = signupImpl
val collective: OCollective[F] = collImpl
val source = sourceImpl
val tag = tagImpl
val equipment = equipImpl
val organization = orgImpl
val upload = uploadImpl
val node = nodeImpl
val job = jobImpl
val item = itemImpl
val itemSearch = itemSearchImpl
val fulltext = fulltextImpl
val mail = mailImpl
val joex = joexImpl
val userTask = userTaskImpl
val folder = folderImpl
val login = loginImpl
val signup = signupImpl
val collective = collImpl
val source = sourceImpl
val tag = tagImpl
val equipment = equipImpl
val organization = orgImpl
val upload = uploadImpl
val node = nodeImpl
val job = jobImpl
val item = itemImpl
val itemSearch = itemSearchImpl
val fulltext = fulltextImpl
val mail = mailImpl
val joex = joexImpl
val userTask = userTaskImpl
val folder = folderImpl
val customFields = customFieldsImpl
}
def apply[F[_]: ConcurrentEffect: ContextShift](

View File

@ -0,0 +1,25 @@
package docspell.backend.ops
import cats.effect.{Effect, Resource}
import docspell.common._
import docspell.store.Store
import docspell.store.records.RCustomField
trait OCustomFields[F[_]] {
def findAll(coll: Ident): F[Vector[RCustomField]]
}
object OCustomFields {
def apply[F[_]: Effect](
store: Store[F]
): Resource[F, OCustomFields[F]] =
Resource.pure[F, OCustomFields[F]](new OCustomFields[F] {
def findAll(coll: Ident): F[Vector[RCustomField]] =
store.transact(RCustomField.findAll(coll))
})
}