atlassian-connect-core 0.7.0.1 → 0.7.0.2
raw patch · 3 files changed
+50/−19 lines, 3 filesdep ~aesondep ~bytestringdep ~jwtPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: aeson, bytestring, jwt, snap, snap-core, text, time, transformers
API changes (from Hackage documentation)
- Snap.AtlassianConnect: baseUrl :: Tenant -> ConnectURI
- Snap.AtlassianConnect: connectAES :: Connect -> AES
- Snap.AtlassianConnect: connectBaseUrl :: Connect -> URI
- Snap.AtlassianConnect: connectHostWhitelist :: Connect -> [HostName]
- Snap.AtlassianConnect: connectPageTokenTimeout :: Connect -> Timeout
- Snap.AtlassianConnect: connectPlugin :: Connect -> Plugin
- Snap.AtlassianConnect: issueId :: IssueDetails -> IssueId
- Snap.AtlassianConnect: issueKey :: IssueDetails -> IssueKey
- Snap.AtlassianConnect: issueSummary :: IssueDetails -> IssueSummary
- Snap.AtlassianConnect: key :: Tenant -> TenantKey
- Snap.AtlassianConnect: lrBaseUrl :: LifecycleResponse -> ConnectURI
- Snap.AtlassianConnect: lrClientKey :: LifecycleResponse -> ClientKey
- Snap.AtlassianConnect: lrDescription :: LifecycleResponse -> Maybe Text
- Snap.AtlassianConnect: lrEventType :: LifecycleResponse -> Maybe Text
- Snap.AtlassianConnect: lrKey :: LifecycleResponse -> Text
- Snap.AtlassianConnect: lrPluginsVersion :: LifecycleResponse -> Maybe Text
- Snap.AtlassianConnect: lrProductType :: LifecycleResponse -> Maybe Text
- Snap.AtlassianConnect: lrPublicKey :: LifecycleResponse -> Text
- Snap.AtlassianConnect: lrServerVersion :: LifecycleResponse -> Maybe Text
- Snap.AtlassianConnect: lrSharedSecret :: LifecycleResponse -> Maybe Text
- Snap.AtlassianConnect: pageTokenAllowInsecurePolling :: PageToken -> Bool
- Snap.AtlassianConnect: pageTokenHost :: PageToken -> TenantKey
- Snap.AtlassianConnect: pageTokenTimestamp :: PageToken -> UTCTime
- Snap.AtlassianConnect: pageTokenUser :: PageToken -> Maybe UserKey
- Snap.AtlassianConnect: productType :: Tenant -> Text
- Snap.AtlassianConnect: publicKey :: Tenant -> Text
- Snap.AtlassianConnect: sharedSecret :: Tenant -> Text
- Snap.AtlassianConnect: tenantId :: Tenant -> Integer
- Snap.AtlassianConnect: userEmail :: UserDetails -> UserEmail
- Snap.AtlassianConnect: userKey :: UserDetails -> UserKey
- Snap.AtlassianConnect.HostRequest: instance Constructor C1_0ProductErrorResponse
- Snap.AtlassianConnect.HostRequest: instance Datatype D1ProductErrorResponse
- Snap.AtlassianConnect.HostRequest: instance Generic ProductErrorResponse
- Snap.AtlassianConnect.HostRequest: instance Selector S1_0_0ProductErrorResponse
- Snap.AtlassianConnect.HostRequest: instance Selector S1_0_1ProductErrorResponse
- Snap.AtlassianConnect.HostRequest: instance Show ProductErrorResponse
- Snap.AtlassianConnect.HostRequest: perCode :: ProductErrorResponse -> HttpResponseCode
- Snap.AtlassianConnect.HostRequest: perMessage :: ProductErrorResponse -> Text
+ Snap.AtlassianConnect: [baseUrl] :: Tenant -> ConnectURI
+ Snap.AtlassianConnect: [connectAES] :: Connect -> AES
+ Snap.AtlassianConnect: [connectBaseUrl] :: Connect -> URI
+ Snap.AtlassianConnect: [connectHostWhitelist] :: Connect -> [HostName]
+ Snap.AtlassianConnect: [connectPageTokenTimeout] :: Connect -> Timeout
+ Snap.AtlassianConnect: [connectPlugin] :: Connect -> Plugin
+ Snap.AtlassianConnect: [issueId] :: IssueDetails -> IssueId
+ Snap.AtlassianConnect: [issueKey] :: IssueDetails -> IssueKey
+ Snap.AtlassianConnect: [issueSummary] :: IssueDetails -> IssueSummary
+ Snap.AtlassianConnect: [key] :: Tenant -> TenantKey
+ Snap.AtlassianConnect: [lrBaseUrl] :: LifecycleResponse -> ConnectURI
+ Snap.AtlassianConnect: [lrClientKey] :: LifecycleResponse -> ClientKey
+ Snap.AtlassianConnect: [lrDescription] :: LifecycleResponse -> Maybe Text
+ Snap.AtlassianConnect: [lrEventType] :: LifecycleResponse -> Maybe Text
+ Snap.AtlassianConnect: [lrKey] :: LifecycleResponse -> Text
+ Snap.AtlassianConnect: [lrPluginsVersion] :: LifecycleResponse -> Maybe Text
+ Snap.AtlassianConnect: [lrProductType] :: LifecycleResponse -> Maybe Text
+ Snap.AtlassianConnect: [lrPublicKey] :: LifecycleResponse -> Text
+ Snap.AtlassianConnect: [lrServerVersion] :: LifecycleResponse -> Maybe Text
+ Snap.AtlassianConnect: [lrSharedSecret] :: LifecycleResponse -> Maybe Text
+ Snap.AtlassianConnect: [pageTokenAllowInsecurePolling] :: PageToken -> Bool
+ Snap.AtlassianConnect: [pageTokenHost] :: PageToken -> TenantKey
+ Snap.AtlassianConnect: [pageTokenTimestamp] :: PageToken -> UTCTime
+ Snap.AtlassianConnect: [pageTokenUser] :: PageToken -> Maybe UserKey
+ Snap.AtlassianConnect: [productType] :: Tenant -> Text
+ Snap.AtlassianConnect: [publicKey] :: Tenant -> Text
+ Snap.AtlassianConnect: [sharedSecret] :: Tenant -> Text
+ Snap.AtlassianConnect: [tenantId] :: Tenant -> Integer
+ Snap.AtlassianConnect: [userEmail] :: UserDetails -> UserEmail
+ Snap.AtlassianConnect: [userKey] :: UserDetails -> UserKey
+ Snap.AtlassianConnect.HostRequest: [perCode] :: ProductErrorResponse -> HttpResponseCode
+ Snap.AtlassianConnect.HostRequest: [perMessage] :: ProductErrorResponse -> Text
+ Snap.AtlassianConnect.HostRequest: instance GHC.Generics.Generic Snap.AtlassianConnect.HostRequest.ProductErrorResponse
+ Snap.AtlassianConnect.HostRequest: instance GHC.Show.Show Snap.AtlassianConnect.HostRequest.ProductErrorResponse
Files
- README.md +28/−0
- atlassian-connect-core.cabal +21/−18
- src/Snap/AtlassianConnect/HostRequest.hs +1/−1
README.md view
@@ -3,3 +3,31 @@ This is a library that provides Atlassian Connect functionality for applications built on top of the Snap Framework. We provide a snaplet so that you can integrate Atlassian Connect into your applications.++## Compiling the code++In order to compile this library we required that you have NixOS installed, in order+to create a reliable GHC 8.01 environment. Run the following to setup a NixOS shell+with GHC:++ $ cat ~/.nixpkgs/config.nix+ {+ packageOverrides = super: let self = super.pkgs; in+ {+ myHaskellEnv =+ self.haskellPackages.ghcWithPackages+ (haskellPackages: with haskellPackages; [+ mtl QuickCheck random text alex cabal-install cpphs happy ghc-paths zlib+ # or anything you like.+ ]);+ };+ }+ $ nix-env -f "<nixpkgs>" -iA myHaskellEnv+ $ nix-shell -p myHaskellEnv++Then run the following to build the library:++ cabal sandbox init+ cabal install # on OSX include the --with-gcc=clang flag++Good luck!
atlassian-connect-core.cabal view
@@ -1,16 +1,16 @@--- Initial atlassian-connect-core.cabal generated by cabal init. For +-- Initial atlassian-connect-core.cabal generated by cabal init. For -- further documentation, see http://haskell.org/cabal/users-guide/ -- The name of the package. name: atlassian-connect-core --- The package version. See the Haskell package versioning policy (PVP) +-- The package version. See the Haskell package versioning policy (PVP) -- for standards guiding when and how versions should be incremented. -- http://www.haskell.org/haskellwiki/Package_versioning_policy -- PVP summary: +-+------- breaking API changes -- | | +----- non-breaking API additions -- | | | +--- code changes with no API change-version: 0.7.0.1+version: 0.7.0.2 -- A short (one-line) description of the package. synopsis: Atlassian Connect snaplet for the Snap Framework and helper code.@@ -31,7 +31,7 @@ -- The package author(s). author: Robert Massaioli --- An email address to which users can send suggestions, bug reports, and +-- An email address to which users can send suggestions, bug reports, and -- patches. maintainer: rmassaioli@atlassian.com @@ -42,7 +42,7 @@ build-type: Simple --- Extra files to be distributed with the package, such as examples or a +-- Extra files to be distributed with the package, such as examples or a -- README. extra-source-files: README.md @@ -86,16 +86,16 @@ , Snap.AtlassianConnect.Tenant , Snap.AtlassianConnect.TimeUnits , Snap.Helpers- + -- LANGUAGE extensions used by modules in this package.- -- other-extensions: - + -- other-extensions:+ -- Other library packages from which modules are imported. build-depends: base >=4.7 && < 5 , atlassian-connect-descriptor >= 0.2- , jwt == 0.6.*- , aeson > 0.7.0.3 && < 0.9- , bytestring >= 0.9 && <= 0.11+ , jwt >= 0.6+ , aeson >= 0.7.0.3+ , bytestring >= 0.9 , base64-bytestring == 1.0.* , case-insensitive == 1.* , cipher-aes == 0.2.*@@ -104,13 +104,13 @@ , hostname == 1.* , http-media == 0.6.* , mtl == 2.*- , snap == 0.14.*- , snap-core >= 0.9 && <= 1+ , snap >= 0.14+ , snap-core >= 0.9 , split == 0.2.*- , text >= 0.11 && < 1.3- , time >= 1.2 && < 1.6+ , text >= 0.11+ , time >= 1.2 , time-units == 1.*- , transformers >= 0.3 && < 0.5+ , transformers >= 0.3 , http-client == 0.4.* , http-client-tls == 0.2.* , http-types == 0.8.*@@ -121,9 +121,12 @@ build-depends: network-uri >= 2.6, network >= 2.6 else build-depends: network-uri < 2.6, network < 2.6- + -- Directories containing source files. hs-source-dirs: src- ++ -- Package Configuration depends+ pkgconfig-depends: zlib+ -- Base language which the package is written in. default-language: Haskell2010
src/Snap/AtlassianConnect/HostRequest.hs view
@@ -159,7 +159,7 @@ , JWT.aud = Nothing , JWT.nbf = Nothing , JWT.jti = Nothing- , JWT.unregisteredClaims = M.fromList [("qsh", String queryStringHash)] -- TODO fromJust is horrible. Remove it's use.+ , JWT.unregisteredClaims = M.fromList [("qsh", String queryStringHash)] } where expiryTime :: P.POSIXTime