chore(jobsystem): add TimeRelative and JobStatus instances

This commit is contained in:
Sarah Vaupel 2023-12-03 02:00:12 +00:00
parent bb76399531
commit 8d87c50a4a
3 changed files with 45 additions and 4 deletions

View File

@ -0,0 +1,42 @@
-- SPDX-FileCopyrightText: 2023 Sarah Vaupel <sarah.vaupel@uniworx.de>
--
-- SPDX-License-Identifier: AGPL-3.0-or-later
{-# OPTIONS_GHC -fno-warn-orphans #-}
module Data.Jobsys.Instances
(
) where
import ClassyPrelude
import Jobsys.Basics (TimeRelative(..), JobStatus(..))
import Model.Types.TH.PathPiece
import Utils.PathPiece (camelToPathPiece', nullaryPathPiece, pathPieceJSON, pathPieceJSONKey)
import Data.Universe.Class (Finite, Universe)
-- TODO Refactor: Move to separate modules
deriving instance Generic TimeRelative
deriving anyclass instance Finite TimeRelative
deriving anyclass instance Universe TimeRelative
deriving anyclass instance NFData TimeRelative
nullaryPathPiece ''TimeRelative $ camelToPathPiece' 2
pathPieceJSON ''TimeRelative
pathPieceJSONKey ''TimeRelative
derivePersistFieldPathPiece ''TimeRelative
deriving instance Generic JobStatus
deriving anyclass instance Finite JobStatus
deriving anyclass instance Universe JobStatus
deriving anyclass instance NFData JobStatus
nullaryPathPiece ''JobStatus $ camelToPathPiece' 2
pathPieceJSON ''JobStatus
pathPieceJSONKey ''JobStatus
derivePersistFieldPathPiece ''JobStatus

View File

@ -232,6 +232,7 @@ import Data.MultiSet.Instances as Import ()
import Control.Arrow.Instances as Import ()
import Data.SemVer.Instances as Import ()
import Control.Monad.Trans.Random.Instances as Import ()
import Data.Jobsys.Instances as Import ()
import Crypto.Hash as Import (Digest, SHA3_256, SHA3_512)
import Crypto.Random as Import (ChaChaDRG, Seed)

View File

@ -9,10 +9,7 @@ import Import.NoModel
import Jobsys.Basics (TimeRelative, JobStatus)
nullaryPathPiece ''TimeRelative $ camelToPathPiece' 2
pathPieceJSON ''TimeRelative
derivePersistFieldJSON ''TimeRelative
import Model.Types.TH.PathPiece
newtype JobOccurrence = JobOccurrence
@ -40,6 +37,7 @@ data JobPriority
nullaryPathPiece ''JobPriority $ camelToPathPiece' 2
pathPieceJSON ''JobPriority
derivePersistFieldPathPiece ''JobPriority
data JobRessource