packages feed

atlassian-connect-descriptor 0.3.0.1 → 0.4.0.0

raw patch · 5 files changed

+49/−31 lines, 5 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Data.Connect.Descriptor: ConfluenceModules :: [WebPanel] -> ConfluenceModules
+ Data.Connect.Descriptor: ConfluenceModules :: Maybe [WebPanel] -> ConfluenceModules
- Data.Connect.Descriptor: JIRAModules :: [JIRAWebSection] -> [WebItem] -> [WebPanel] -> [JIRAPage] -> [JIRAPage] -> Maybe JIRAPage -> [JIRASearchRequestView] -> [JIRAGenericTabPanel] -> [JIRAGenericTabPanel] -> [JIRAGenericTabPanel] -> [JIRAProjectAdminTabPanel] -> [JIRAGenericTabPanel] -> [JIRAGenericTabPanel] -> [JIRAReport] -> [Webhook] -> [JIRAWorkflowPostFunction] -> [JIRAEntityProperties] -> JIRAModules
+ Data.Connect.Descriptor: JIRAModules :: Maybe [JIRAWebSection] -> Maybe [WebItem] -> Maybe [WebPanel] -> Maybe [JIRAPage] -> Maybe [JIRAPage] -> Maybe JIRAPage -> Maybe [JIRASearchRequestView] -> Maybe [JIRAGenericTabPanel] -> Maybe [JIRAGenericTabPanel] -> Maybe [JIRAGenericTabPanel] -> Maybe [JIRAProjectAdminTabPanel] -> Maybe [JIRAGenericTabPanel] -> Maybe [JIRAGenericTabPanel] -> Maybe [JIRAReport] -> Maybe [Webhook] -> Maybe [JIRAWorkflowPostFunction] -> Maybe [JIRAEntityProperties] -> JIRAModules
- Data.Connect.Descriptor: confluenceWebPanels :: ConfluenceModules -> [WebPanel]
+ Data.Connect.Descriptor: confluenceWebPanels :: ConfluenceModules -> Maybe [WebPanel]
- Data.Connect.Descriptor: jmAdminPages :: JIRAModules -> [JIRAPage]
+ Data.Connect.Descriptor: jmAdminPages :: JIRAModules -> Maybe [JIRAPage]
- Data.Connect.Descriptor: jmGeneralPages :: JIRAModules -> [JIRAPage]
+ Data.Connect.Descriptor: jmGeneralPages :: JIRAModules -> Maybe [JIRAPage]
- Data.Connect.Descriptor: jmJiraComponentTabPanels :: JIRAModules -> [JIRAGenericTabPanel]
+ Data.Connect.Descriptor: jmJiraComponentTabPanels :: JIRAModules -> Maybe [JIRAGenericTabPanel]
- Data.Connect.Descriptor: jmJiraEntityProperties :: JIRAModules -> [JIRAEntityProperties]
+ Data.Connect.Descriptor: jmJiraEntityProperties :: JIRAModules -> Maybe [JIRAEntityProperties]
- Data.Connect.Descriptor: jmJiraIssueTabPanels :: JIRAModules -> [JIRAGenericTabPanel]
+ Data.Connect.Descriptor: jmJiraIssueTabPanels :: JIRAModules -> Maybe [JIRAGenericTabPanel]
- Data.Connect.Descriptor: jmJiraProfileTabPanels :: JIRAModules -> [JIRAGenericTabPanel]
+ Data.Connect.Descriptor: jmJiraProfileTabPanels :: JIRAModules -> Maybe [JIRAGenericTabPanel]
- Data.Connect.Descriptor: jmJiraProjectAdminTabPanels :: JIRAModules -> [JIRAProjectAdminTabPanel]
+ Data.Connect.Descriptor: jmJiraProjectAdminTabPanels :: JIRAModules -> Maybe [JIRAProjectAdminTabPanel]
- Data.Connect.Descriptor: jmJiraProjectTabPanels :: JIRAModules -> [JIRAGenericTabPanel]
+ Data.Connect.Descriptor: jmJiraProjectTabPanels :: JIRAModules -> Maybe [JIRAGenericTabPanel]
- Data.Connect.Descriptor: jmJiraReports :: JIRAModules -> [JIRAReport]
+ Data.Connect.Descriptor: jmJiraReports :: JIRAModules -> Maybe [JIRAReport]
- Data.Connect.Descriptor: jmJiraSearchRequestViews :: JIRAModules -> [JIRASearchRequestView]
+ Data.Connect.Descriptor: jmJiraSearchRequestViews :: JIRAModules -> Maybe [JIRASearchRequestView]
- Data.Connect.Descriptor: jmJiraVersionTabPanels :: JIRAModules -> [JIRAGenericTabPanel]
+ Data.Connect.Descriptor: jmJiraVersionTabPanels :: JIRAModules -> Maybe [JIRAGenericTabPanel]
- Data.Connect.Descriptor: jmJiraWorkflowPostFunctions :: JIRAModules -> [JIRAWorkflowPostFunction]
+ Data.Connect.Descriptor: jmJiraWorkflowPostFunctions :: JIRAModules -> Maybe [JIRAWorkflowPostFunction]
- Data.Connect.Descriptor: jmWebItems :: JIRAModules -> [WebItem]
+ Data.Connect.Descriptor: jmWebItems :: JIRAModules -> Maybe [WebItem]
- Data.Connect.Descriptor: jmWebPanels :: JIRAModules -> [WebPanel]
+ Data.Connect.Descriptor: jmWebPanels :: JIRAModules -> Maybe [WebPanel]
- Data.Connect.Descriptor: jmWebSections :: JIRAModules -> [JIRAWebSection]
+ Data.Connect.Descriptor: jmWebSections :: JIRAModules -> Maybe [JIRAWebSection]
- Data.Connect.Descriptor: jmWebhooks :: JIRAModules -> [Webhook]
+ Data.Connect.Descriptor: jmWebhooks :: JIRAModules -> Maybe [Webhook]

Files

atlassian-connect-descriptor.cabal view
@@ -10,7 +10,7 @@ -- PVP summary:      +-+------- breaking API changes --                   | | +----- non-breaking API additions --                   | | | +--- code changes with no API change-version:             0.3.0.1+version:             0.4.0.0  -- A short (one-line) description of the package. synopsis:            Code that helps you create a valid Atlassian Connect Descriptor.
src/Data/Connect/Descriptor.hs view
@@ -43,7 +43,7 @@ > > exampleJIRAModules :: JIRAModules > exampleJIRAModules = emptyJIRAModules->     { jmWebPanels =+>     { jmWebPanels = Just >         [ WebPanel >             { wpKey = "test-web-panel" >             , wpName = simpleText "Test Web Panel"@@ -56,7 +56,7 @@ >             , wpParams = noParams >             } >         ]->     , jmGeneralPages =+>     , jmGeneralPages = Just >         [ JIRAPage >             { jiraPageKey = "test-general-page" >             , jiraPageName = simpleText "Test General Page"@@ -72,7 +72,7 @@ >             , jiraPageParams = noParams >             } >         ]->     , jmWebhooks =+>     , jmWebhooks = Just >         [ Webhook >             { webhookEvent = JiraIssueDeleted >             , webhookUrl = "/webhook/handle-deletion"
src/Data/Connect/Modules.hs view
@@ -100,23 +100,23 @@ -- | A collection of all of the JIRA Modules that you can define. For more documentation on which Modules are supported -- the Atlassian Connect framework please see 'Modules'. You can also find more documentation on each of the modules. data JIRAModules = JIRAModules-   { jmWebSections               :: [JIRAWebSection]-   , jmWebItems                  :: [WebItem]-   , jmWebPanels                 :: [WebPanel]-   , jmGeneralPages              :: [JIRAPage]-   , jmAdminPages                :: [JIRAPage]+   { jmWebSections               :: Maybe [JIRAWebSection]+   , jmWebItems                  :: Maybe [WebItem]+   , jmWebPanels                 :: Maybe [WebPanel]+   , jmGeneralPages              :: Maybe [JIRAPage]+   , jmAdminPages                :: Maybe [JIRAPage]    , jmConfigurePage             :: Maybe JIRAPage-   , jmJiraSearchRequestViews    :: [JIRASearchRequestView]-   , jmJiraProfileTabPanels      :: [JIRAGenericTabPanel]-   , jmJiraVersionTabPanels      :: [JIRAGenericTabPanel]-   , jmJiraProjectTabPanels      :: [JIRAGenericTabPanel]-   , jmJiraProjectAdminTabPanels :: [JIRAProjectAdminTabPanel]-   , jmJiraIssueTabPanels        :: [JIRAGenericTabPanel]-   , jmJiraComponentTabPanels    :: [JIRAGenericTabPanel]-   , jmJiraReports               :: [JIRAReport]-   , jmWebhooks                  :: [Webhook]-   , jmJiraWorkflowPostFunctions :: [JIRAWorkflowPostFunction]-   , jmJiraEntityProperties      :: [JIRAEntityProperties]+   , jmJiraSearchRequestViews    :: Maybe [JIRASearchRequestView]+   , jmJiraProfileTabPanels      :: Maybe [JIRAGenericTabPanel]+   , jmJiraVersionTabPanels      :: Maybe [JIRAGenericTabPanel]+   , jmJiraProjectTabPanels      :: Maybe [JIRAGenericTabPanel]+   , jmJiraProjectAdminTabPanels :: Maybe [JIRAProjectAdminTabPanel]+   , jmJiraIssueTabPanels        :: Maybe [JIRAGenericTabPanel]+   , jmJiraComponentTabPanels    :: Maybe [JIRAGenericTabPanel]+   , jmJiraReports               :: Maybe [JIRAReport]+   , jmWebhooks                  :: Maybe [Webhook]+   , jmJiraWorkflowPostFunctions :: Maybe [JIRAWorkflowPostFunction]+   , jmJiraEntityProperties      :: Maybe [JIRAEntityProperties]    } deriving (Show, Generic)  instance ToJSON JIRAModules where@@ -127,7 +127,7 @@ -- | A collection of all of the Confluence Modules that you can define. For more documentation on which Modules are supported -- the Atlassian Connect framework please see 'Modules'. You can also find more documentation on each of the modules. data ConfluenceModules = ConfluenceModules-   { confluenceWebPanels :: [WebPanel]+   { confluenceWebPanels :: Maybe [WebPanel]    } deriving (Show, Generic)  instance ToJSON ConfluenceModules where@@ -137,11 +137,29 @@  -- | Empty JIRA Modules; useful when you only want to define a few modules via Haskell record syntax. emptyJIRAModules :: JIRAModules-emptyJIRAModules = JIRAModules [] [] [] [] [] Nothing [] [] [] [] [] [] [] [] [] [] []+emptyJIRAModules+   = JIRAModules+      Nothing+      Nothing+      Nothing+      Nothing+      Nothing+      Nothing+      Nothing+      Nothing+      Nothing+      Nothing+      Nothing+      Nothing+      Nothing+      Nothing+      Nothing+      Nothing+      Nothing  -- | Empty Confluence Modules; useful when you only want to define a few modules via Haskell record syntax. emptyConfluenceModules :: ConfluenceModules-emptyConfluenceModules = ConfluenceModules []+emptyConfluenceModules = ConfluenceModules Nothing  -- | Represents the weight of an element in a menu. type Weight = Integer
tests/DescriptorTest.hs view
@@ -39,7 +39,7 @@  exampleJIRAModules :: JIRAModules exampleJIRAModules = emptyJIRAModules-    { jmWebPanels =+    { jmWebPanels = Just         [ WebPanel             { wpKey = "test-web-panel"             , wpName = simpleText "Test Web Panel"@@ -52,7 +52,7 @@             , wpLayout = Just $ WebPanelLayout (Pixels 963) (Percentage 40)             }         ]-    , jmGeneralPages =+    , jmGeneralPages = Just         [ JIRAPage             { jiraPageKey = "test-general-page"             , jiraPageName = simpleText "Test General Page"@@ -68,7 +68,7 @@             , jiraPageParams = HM.empty             }         ]-    , jmWebhooks =+    , jmWebhooks = Just         [ Webhook             { webhookEvent = JiraIssueDeleted             , webhookUrl = "/webhook/handle-deletion"
tests/ModulesTest.hs view
@@ -16,7 +16,7 @@ moduleTests = TestList     [ testWebPanelCorrectFormat     , testGeneralPageCorrectFormat-    , testEmptyModulesAreShown+    , testEmptyModulesAreNotShown     ]  testWebPanelCorrectFormat :: Test@@ -65,9 +65,9 @@     (getNumber =<< get "weight" jv) `isEqualTo` 10000     (isArray <$> get "conditions" jv) @? "Expected the conditions to be present." -testEmptyModulesAreShown :: Test-testEmptyModulesAreShown = TestCase $ do+testEmptyModulesAreNotShown :: Test+testEmptyModulesAreNotShown = TestCase $ do     let modules = Modules emptyJIRAModules emptyConfluenceModules     let jv = toJSON modules-    fieldIsPresent "webPanels" jv @? "Expected the field webPanels to be present"-    fieldIsPresent "generalPages" jv @? "Expected the field webPanels to be present"+    fieldIsNotPresent "webPanels" jv @? "Expected the field webPanels to be present"+    fieldIsNotPresent "generalPages" jv @? "Expected the field webPanels to be present"