mellon-web 0.8.0.3 → 0.8.0.4
raw patch · 4 files changed
+332/−7 lines, 4 filesdep ~QuickCheckdep ~hlintPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: QuickCheck, hlint
API changes (from Hackage documentation)
Files
- changelog.md +10/−0
- mellon-web.cabal +5/−4
- package.yaml +316/−0
- src/Mellon/Web/Server/API.hs +1/−3
changelog.md view
@@ -1,3 +1,13 @@+## 0.8.0.4 (2018-01-26)++- Require hlint 2.0.x.++- Fix new hlint issues.++- Bump QuickCheck bounds.++- New and improved Nix packaging.+ ## 0.8.0.3 (2018-01-11) - Use hpack.
mellon-web.cabal view
@@ -2,10 +2,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 6f888996b5b3eb2e33aad7453edcf072a41751dc7e2fa46cfed52530a1a930d1+-- hash: a9487a8a210c186753d613c0da759adc43eff2eef6a18ea865efb5add7474532 name: mellon-web-version: 0.8.0.3+version: 0.8.0.4 synopsis: A REST web service for Mellon controllers description: The @mellon-web@ package wraps a @mellon-core@ controller in a REST web service, making it possible to control physical access devices@@ -47,6 +47,7 @@ extra-source-files: changelog.md+ package.yaml README.md swagger.json @@ -241,7 +242,7 @@ else build-depends: base- , hlint >=1.9 && <2.1+ , hlint ==2.0.* default-language: Haskell2010 test-suite spec@@ -252,7 +253,7 @@ other-extensions: OverloadedStrings ScopedTypeVariables ghc-options: -w -threaded -rtsopts -with-rtsopts=-N build-depends:- QuickCheck >=2.8 && <2.11+ QuickCheck >=2.8 && <2.12 , aeson , aeson-pretty , base
+ package.yaml view
@@ -0,0 +1,316 @@+name: mellon-web+version: 0.8.0.4+synopsis: A REST web service for Mellon controllers+category: Web+stability: experimental+author: Drew Hess <dhess-src@quixoftic.com>+maintainer: Drew Hess <dhess-src@quixoftic.com>+copyright: Copyright (c) 2017, Quixoftic, LLC+license: BSD3+github: quixoftic/mellon++description: ! 'The @mellon-web@ package wraps a @mellon-core@ controller in a REST++ web service, making it possible to control physical access devices++ from an HTTP client. The package includes both a WAI application++ server, and native Haskell client bindings for the service.+++ Like the @mellon-core@ controller interface, the @mellon-web@ REST API++ is quite simple. There are only 3 methods:+++ * @GET /time@ returns the system time on the server. This is made++ available for diagnostic purposes, primarily to ensure the server++ has an accurate clock.+++ * @GET /state@ returns the controller''s current state (either @Locked@++ or @Unlocked date@ where @date@ is the UTC time at which the++ controller will automatically lock again).+++ * @PUT /state@ sets the controller''s current state. Use this method to++ lock and unlock the controller.+++ See the included <API.md API.md> document for detailed documentation++ on the REST service.+++ Note that the @mellon-web@ server does not provide an authentication++ mechanism! You should proxy it behind a secure, authenticating HTTPS++ server such as Nginx.'++tested-with: GHC==7.10.3 GHC==8.0.1 GHC==8.0.2 GHC==8.2.1 GHC==8.2.2++flags:+ test-hlint:+ description: Build hlint test+ manual: true+ default: true+ test-doctests:+ description: Build doctests+ manual: true+ default: true+ gpio-example:+ description: Build the GPIO server example+ manual: true+ default: true+ mock-example:+ description: Build the mock server example+ manual: true+ default: true+ client-unlock-example:+ description: Build the unlock client example+ manual: true+ default: true++when:+ - condition: impl(ghc >= 8.0)+ then:+ ghc-options:+ - -Wall+ - -Wincomplete-uni-patterns+ - -Wincomplete-record-updates+ else:+ ghc-options:+ - -Wall+ - -fwarn-incomplete-uni-patterns+ - -fwarn-incomplete-record-updates++library:+ when:+ - condition: impl(ghc >= 8.0)+ then:+ ghc-options:+ - -Wcompat+ - -Wnoncanonical-monad-instances+ - -Wnoncanonical-monadfail-instances+ else:+ # provide/emulate `Control.Monad.Fail` and `Data.Semigroups` API for pre-GHC8+ dependencies:+ - fail == 4.9.*+ - semigroups == 0.18.*+ source-dirs: src+ other-extensions:+ - DataKinds+ - DeriveDataTypeable+ - DeriveGeneric+ - MultiParamTypeClasses+ - OverloadedStrings+ - OverloadedLists+ - ScopedTypeVariables+ - TypeOperators+ dependencies:+ - base >=4.8 && <5+ - aeson >=0.11 && <1.3+ - aeson-pretty ==0.8.*+ - bytestring ==0.10.*+ - http-client >=0.4 && <0.6+ - http-types ==0.9.*+ - lens >=4 && <5+ - lucid ==2.9.*+ - mellon-core ==0.8.*+ - servant ==0.11.*+ - servant-client ==0.11.*+ - servant-docs >=0.10 && <0.12+ - servant-lucid ==0.7.*+ - servant-server ==0.11.*+ - servant-swagger ==1.1.*+ - servant-swagger-ui ==0.2.*+ - swagger2 >=2.1 && <2.3+ - text ==1.2.*+ - time >=1.5 && <2+ - transformers >=0.4.2 && <0.6+ - wai ==3.2.*+ - warp ==3.2.*++tests:+ hlint:+ main: hlint.hs+ source-dirs: test+ other-modules: []+ ghc-options:+ - -w+ - -threaded+ - -rtsopts+ - -with-rtsopts=-N+ when:+ - condition: "!(flag(test-hlint))"+ then:+ buildable: false+ else:+ dependencies:+ - base+ - hlint ==2.0.*+ doctest:+ main: doctest.hs+ source-dirs: test+ other-modules: []+ ghc-options:+ - -threaded+ when:+ - condition: "!(flag(test-doctests))"+ then:+ buildable: false+ else:+ dependencies:+ - base+ - doctest >=0.11 && <0.14+ spec:+ main: Main.hs+ source-dirs:+ - test+ other-extensions:+ - OverloadedStrings+ - ScopedTypeVariables+ ghc-options:+ - -w+ - -threaded+ - -rtsopts+ - -with-rtsopts=-N+ dependencies:+ - base+ - QuickCheck >=2.8 && <2.12+ - quickcheck-instances ==0.3.*+ - aeson+ - aeson-pretty+ - bytestring+ - hspec >=2.2 && <2.5+ - hspec-wai >=0.6.6 && <0.10+ - http-client+ - http-types+ - lens+ - lucid+ - mellon-core+ - mellon-web+ - network+ - servant+ - servant-client+ - servant-docs+ - servant-lucid+ - servant-server+ - servant-swagger+ - servant-swagger-ui+ - swagger2+ - text+ - time+ - transformers+ - wai+ - wai-extra ==3.0.*+ - warp++executables:+ gpio-mellon-server:+ main: GpioServer.hs+ source-dirs: examples+ other-modules: []+ other-extensions:+ - OverloadedStrings+ ghc-options:+ - -threaded+ - -fwarn-incomplete-uni-patterns+ - -fwarn-incomplete-record-updates+ when:+ - condition: impl(ghc >= 8.0)+ ghc-options:+ - -Wcompat+ - -Wnoncanonical-monad-instances+ - -Wnoncanonical-monadfail-instances+ - -fno-warn-redundant-constraints+ - condition: "!(flag(gpio-example))"+ then:+ buildable: false+ else:+ dependencies:+ - base+ - exceptions >=0.8.0 && <1+ - hpio >=0.8 && <1+ - mellon-core+ - mellon-gpio ==0.8.*+ - mellon-web+ - mtl+ - network ==2.6.*+ - optparse-applicative >=0.11.0 && <0.15+ - time+ - transformers+ - warp+ mellon-schedule-unlock:+ main: ScheduleUnlock.hs+ source-dirs: examples+ other-modules: []+ other-extensions:+ - LambdaCase+ - OverloadedStrings+ ghc-options:+ - -threaded+ - -fwarn-incomplete-uni-patterns+ - -fwarn-incomplete-record-updates+ when:+ - condition: impl(ghc >= 8.0)+ ghc-options:+ - -Wcompat+ - -Wnoncanonical-monad-instances+ - -Wnoncanonical-monadfail-instances+ - -fno-warn-redundant-constraints+ - condition: "!(flag(client-unlock-example))"+ then:+ buildable: false+ else:+ dependencies:+ - base+ - bytestring+ - exceptions+ - http-client+ - http-client-tls+ - http-types+ - mellon-core+ - mellon-web+ - mtl+ - network+ - optparse-applicative+ - servant-client+ - time+ - transformers+ mock-mellon-server:+ main: MockServer.hs+ source-dirs: examples+ other-modules: []+ ghc-options:+ - -threaded+ - -fwarn-incomplete-uni-patterns+ - -fwarn-incomplete-record-updates+ when:+ - condition: impl(ghc >= 8.0)+ ghc-options:+ - -Wcompat+ - -Wnoncanonical-monad-instances+ - -Wnoncanonical-monadfail-instances+ - -fno-warn-redundant-constraints+ - condition: "!(flag(mock-example))"+ then:+ buildable: false+ else:+ dependencies:+ - base+ - mellon-core+ - mellon-web+ - warp++extra-source-files:+- changelog.md+- README.md+- swagger.json+- package.yaml
src/Mellon/Web/Server/API.hs view
@@ -256,9 +256,7 @@ putState where getTime :: AppM d Time- getTime =- do now <- liftIO getCurrentTime- return $ Time now+ getTime = Time <$> liftIO getCurrentTime getState :: AppM d State getState =