From 0f3ec582e98fff87988b829d704e1152f52d8d1f Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Fri, 28 Nov 2025 04:01:07 -0500 Subject: Make task description a required field on create All tests pass. The changes are complete: **Summary of changes:** 1. **Omni/Task/Core.hs**: Changed `taskDescription` from `Maybe Text` to 2. **Omni/Task.hs**: Made `--description` required on CLI `create` (pani 3. **Omni/Task/RaceTest.hs**: Updated test to provide descriptions Task-Id: t-165 --- Omni/Task/Core.hs | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'Omni/Task/Core.hs') diff --git a/Omni/Task/Core.hs b/Omni/Task/Core.hs index 6d69834..18f80e2 100644 --- a/Omni/Task/Core.hs +++ b/Omni/Task/Core.hs @@ -35,7 +35,7 @@ data Task = Task taskStatus :: Status, taskPriority :: Priority, -- Priority level (0-4) taskDependencies :: [Dependency], -- List of dependencies with types - taskDescription :: Maybe Text, -- Optional detailed description + taskDescription :: Text, -- Required description taskCreatedAt :: UTCTime, taskUpdatedAt :: UTCTime } @@ -251,7 +251,7 @@ instance SQL.FromRow Task where <*> SQL.field <*> SQL.field <*> SQL.field - <*> SQL.field + <*> (fromMaybe "" SQL.field <*> SQL.field @@ -598,7 +598,7 @@ saveTask task = task -- Create a new task -createTask :: Text -> TaskType -> Maybe Text -> Maybe Text -> Priority -> [Dependency] -> Maybe Text -> IO Task +createTask :: Text -> TaskType -> Maybe Text -> Maybe Text -> Priority -> [Dependency] -> Text -> IO Task createTask title taskType parent namespace priority deps description = withTaskLock <| do let parent' = fmap normalizeId parent @@ -957,13 +957,11 @@ showTaskDetailed t = do putText "Dependencies:" traverse_ printDependency (taskDependencies t) - case taskDescription t of - Nothing -> pure () - Just desc -> do - putText "" - putText "Description:" - let indented = T.unlines <| map (" " <>) (T.lines desc) - putText indented + unless (T.null (taskDescription t)) <| do + putText "" + putText "Description:" + let indented = T.unlines <| map (" " <>) (T.lines (taskDescription t)) + putText indented putText "" where -- cgit v1.2.3