diff options
Diffstat (limited to 'src/Job')
-rw-r--r-- | src/Job/Types.hs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/Job/Types.hs b/src/Job/Types.hs index 5415e4d..19cf560 100644 --- a/src/Job/Types.hs +++ b/src/Job/Types.hs @@ -14,7 +14,8 @@ data Declared data Evaluated data Job' d = Job - { jobName :: JobName + { jobId :: JobId' d + , jobName :: JobName , jobContainingCheckout :: [ JobCheckout ] , jobOtherCheckout :: [ ( JobRepo d, Maybe Text, JobCheckout ) ] , jobRecipe :: [ CreateProcess ] @@ -25,6 +26,10 @@ data Job' d = Job type Job = Job' Evaluated type DeclaredJob = Job' Declared +type family JobId' d :: Type where + JobId' Declared = JobName + JobId' Evaluated = JobId + data JobName = JobName Text deriving (Eq, Ord, Show) @@ -78,3 +83,6 @@ textJobIdPart = \case JobIdName name -> textJobName name JobIdCommit cid -> textCommitId cid JobIdTree tid -> textTreeId tid + +textJobId :: JobId -> Text +textJobId (JobId ids) = T.intercalate "." $ map textJobIdPart ids |