packages feed

asana 1.0.0.0 → 1.0.1.0

raw patch · 5 files changed

+54/−19 lines, 5 filesdep ~aesondep ~aeson-casingdep ~bytestringPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: aeson, aeson-casing, bytestring, hashable, http-conduit, iso8601-time, microlens, microlens-mtl, monad-logger, mtl, scientific, text, time, unliftio, unliftio-core, unordered-containers

API changes (from Hackage documentation)

+ Asana.Api.Tag: Tag :: Gid -> Text -> Tag
+ Asana.Api.Tag: [tGid] :: Tag -> Gid
+ Asana.Api.Tag: [tName] :: Tag -> Text
+ Asana.Api.Tag: data Tag
+ Asana.Api.Tag: instance Data.Aeson.Types.FromJSON.FromJSON Asana.Api.Tag.Tag
+ Asana.Api.Tag: instance GHC.Classes.Eq Asana.Api.Tag.Tag
+ Asana.Api.Tag: instance GHC.Generics.Generic Asana.Api.Tag.Tag
+ Asana.Api.Tag: instance GHC.Show.Show Asana.Api.Tag.Tag
+ Asana.Api.Task: [tTags] :: Task -> [Tag]
+ Asana.Api.Task: addTag :: (MonadUnliftIO m, MonadLogger m, MonadReader env m, HasAsanaAccessKey env) => Gid -> Gid -> m ()
- Asana.Api.Prelude: class Foldable (t :: Type -> Type)
+ Asana.Api.Prelude: class Foldable (t :: TYPE LiftedRep -> Type)
- Asana.Api.Prelude: infixl 6 +
+ Asana.Api.Prelude: infixl 6 -
- Asana.Api.Prelude: seq :: forall (r :: RuntimeRep) a (b :: TYPE r). a -> b -> b
+ Asana.Api.Prelude: seq :: forall {r :: RuntimeRep} a (b :: TYPE r). a -> b -> b
- Asana.Api.Task: Task :: Maybe Named -> Text -> Bool -> Maybe UTCTime -> UTCTime -> CustomFields -> [Membership] -> Gid -> ResourceSubtype -> Text -> [AsanaReference] -> Task
+ Asana.Api.Task: Task :: Maybe Named -> Text -> Bool -> Maybe UTCTime -> UTCTime -> CustomFields -> [Membership] -> Gid -> ResourceSubtype -> Text -> [AsanaReference] -> [Tag] -> Task

Files

CHANGELOG.md view
@@ -1,4 +1,8 @@-## [_Unreleased_](https://github.com/freckle/asana-hs/compare/v1.0.0.0...main)+## [_Unreleased_](https://github.com/freckle/asana-hs/compare/v1.0.1.0...main)++## [v1.0.1.0](https://github.com/freckle/asana-hs/compare/v1.0.0.0...v1.0.1.0)++- Add support for seeing and adding tags on `Task`s  ## [v1.0.0.0](https://github.com/freckle/asana-hs/tree/v1.0.0.0) 
asana.cabal view
@@ -1,6 +1,6 @@ cabal-version:      1.18 name:               asana-version:            1.0.0.0+version:            1.0.1.0 license:            MIT license-file:       LICENSE maintainer:         Freckle Education@@ -27,6 +27,7 @@         Asana.Api.Prelude         Asana.Api.Project         Asana.Api.Request+        Asana.Api.Tag         Asana.Api.Task         Asana.Api.Task.Search @@ -48,23 +49,23 @@         -Wno-monomorphism-restriction -Wno-unsafe -Wno-safe      build-depends:-        aeson >=1.3.1.1,-        aeson-casing >=0.1.0.5,+        aeson,+        aeson-casing,         base >=4.11.1.0 && <5,-        bytestring >=0.10.8.2,-        hashable >=1.2.7.0,-        http-conduit >=2.3.2,-        iso8601-time >=0.1.5,-        microlens >=0.4.9.1,-        microlens-mtl >=0.1.11.1,-        monad-logger >=0.3.30,-        mtl >=2.2.2,-        scientific >=0.3.6.2,-        text >=1.2.3.1,-        time >=1.8.0.2,-        unliftio >=0.2.9.0,-        unliftio-core >=0.1.2.0,-        unordered-containers >=0.2.9.0+        bytestring,+        hashable,+        http-conduit,+        iso8601-time,+        microlens,+        microlens-mtl,+        monad-logger,+        mtl,+        scientific,+        text,+        time,+        unliftio,+        unliftio-core,+        unordered-containers      if impl(ghc >=9.2)         ghc-options: -Wno-missing-kind-signatures
+ library/Asana/Api/Tag.hs view
@@ -0,0 +1,18 @@+module Asana.Api.Tag+  ( Tag(..)+  ) where++import Asana.Api.Prelude++import Asana.Api.Gid+import Data.Aeson+import Data.Aeson.Casing (aesonPrefix, snakeCase)++data Tag = Tag+  { tGid :: Gid+  , tName :: Text+  }+  deriving stock (Eq, Generic, Show)++instance FromJSON Tag where+  parseJSON = genericParseJSON $ aesonPrefix snakeCase
library/Asana/Api/Task.hs view
@@ -8,6 +8,7 @@   , getProjectTasks   , getProjectTasksCompletedSince   , postTask+  , addTag   , putCompleted   , taskUrl   , extractNumberField@@ -20,6 +21,7 @@ import Asana.Api.Gid import Asana.Api.Named import Asana.Api.Request+import Asana.Api.Tag import Data.Aeson import Data.Aeson.Casing (aesonPrefix, snakeCase) import Data.HashMap.Strict (HashMap)@@ -55,6 +57,7 @@   , tResourceSubtype :: ResourceSubtype   , tNotes :: Text   , tProjects :: [AsanaReference]+  , tTags :: [Tag]   }   deriving stock (Eq, Generic, Show) @@ -123,6 +126,15 @@ getProjectTasksCompletedSince projectId since = getAllParams   (T.unpack $ "/projects/" <> gidToText projectId <> "/tasks")   [("completed_since", formatISO8601 since)]++addTag+  :: (MonadUnliftIO m, MonadLogger m, MonadReader env m, HasAsanaAccessKey env)+  => Gid+  -> Gid -- ^ Tag+  -> m ()+addTag task tag =+  void $ post ("/tasks/" <> T.unpack (gidToText task) <> "/addTag") $ ApiData+    (object ["tag" .= tag])  putCompleted   :: (MonadUnliftIO m, MonadLogger m, MonadReader env m, HasAsanaAccessKey env)
package.yaml view
@@ -1,5 +1,5 @@ name: asana-version: 1.0.0.0+version: 1.0.1.0 maintainer: Freckle Education category: Utils github: freckle/asana-hs