mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-22 02:18:26 +00:00
Refactor scheduler into api / impl
This commit is contained in:
@ -48,22 +48,22 @@ case class RJob(
|
||||
|
||||
object RJob {
|
||||
|
||||
def newJob[A](
|
||||
def newJob(
|
||||
id: Ident,
|
||||
task: Ident,
|
||||
group: Ident,
|
||||
args: A,
|
||||
args: String,
|
||||
subject: String,
|
||||
submitted: Timestamp,
|
||||
submitter: Ident,
|
||||
priority: Priority,
|
||||
tracker: Option[Ident]
|
||||
)(implicit E: Encoder[A]): RJob =
|
||||
): RJob =
|
||||
RJob(
|
||||
id,
|
||||
task,
|
||||
group,
|
||||
E(args).noSpaces,
|
||||
args,
|
||||
subject,
|
||||
submitted,
|
||||
submitter,
|
||||
@ -77,6 +77,29 @@ object RJob {
|
||||
None
|
||||
)
|
||||
|
||||
def fromJson[A](
|
||||
id: Ident,
|
||||
task: Ident,
|
||||
group: Ident,
|
||||
args: A,
|
||||
subject: String,
|
||||
submitted: Timestamp,
|
||||
submitter: Ident,
|
||||
priority: Priority,
|
||||
tracker: Option[Ident]
|
||||
)(implicit E: Encoder[A]): RJob =
|
||||
newJob(
|
||||
id,
|
||||
task,
|
||||
group,
|
||||
E(args).noSpaces,
|
||||
subject,
|
||||
submitted,
|
||||
submitter,
|
||||
priority,
|
||||
tracker
|
||||
)
|
||||
|
||||
final case class Table(alias: Option[String]) extends TableDef {
|
||||
val tableName = "job"
|
||||
|
||||
|
@ -30,7 +30,7 @@ class QJobTest extends CatsEffectSuite with StoreFixture with TestLoggingConfig
|
||||
private val group2 = Ident.unsafe("group2")
|
||||
|
||||
def createJob(group: Ident): RJob =
|
||||
RJob.newJob[Unit](
|
||||
RJob.fromJson[Unit](
|
||||
Ident.unsafe(s"job-${c.incrementAndGet()}"),
|
||||
Ident.unsafe("task"),
|
||||
group,
|
||||
|
Reference in New Issue
Block a user