diff options
author | Roman Smrž <roman.smrz@seznam.cz> | 2025-06-29 22:20:10 +0200 |
---|---|---|
committer | Roman Smrž <roman.smrz@seznam.cz> | 2025-06-30 20:38:25 +0200 |
commit | ac70a5f9aebcfd51901740681463d1ac4fa90e33 (patch) | |
tree | 353ea6ed5aaea7dab8e12e31b31e039367c4c58b /src/Job | |
parent | f1beff8cdbf5a2e54ea5e36b6edf337fc45ffc8b (diff) |
Explicit JobSet ID
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 4024317..ad575a1 100644 --- a/src/Job/Types.hs +++ b/src/Job/Types.hs @@ -55,13 +55,18 @@ data ArtifactName = ArtifactName Text data JobSet' d = JobSet - { jobsetCommit :: Maybe Commit + { jobsetId :: JobSetId' d + , jobsetCommit :: Maybe Commit , jobsetJobsEither :: Either String [ Job' d ] } type JobSet = JobSet' Evaluated type DeclaredJobSet = JobSet' Declared +type family JobSetId' d :: Type where + JobSetId' Declared = () + JobSetId' Evaluated = JobSetId + jobsetJobs :: JobSet -> [ Job ] jobsetJobs = either (const []) id . jobsetJobsEither @@ -69,6 +74,9 @@ jobsetJobs = either (const []) id . jobsetJobsEither newtype JobId = JobId [ JobIdPart ] deriving (Eq, Ord) +newtype JobSetId = JobSetId [ JobIdPart ] + deriving (Eq, Ord) + data JobIdPart = JobIdName JobName | JobIdCommit (Maybe RepoName) CommitId |