cachix-api 1.6.1 → 1.7
raw patch · 3 files changed
+19/−7 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Cachix.Types.BinaryCache: instance GHC.Classes.Eq Cachix.Types.BinaryCache.CompressionMethod
+ Cachix.Types.MultipartUpload: instance GHC.Classes.Eq Cachix.Types.MultipartUpload.CompletedPart
+ Cachix.Types.MultipartUpload: instance GHC.Classes.Eq Cachix.Types.MultipartUpload.CreateMultipartUploadResponse
+ Cachix.Types.MultipartUpload: instance GHC.Classes.Eq Cachix.Types.MultipartUpload.SigningData
+ Cachix.Types.MultipartUpload: instance GHC.Classes.Ord Cachix.Types.MultipartUpload.CompletedPart
- Cachix.Types.NarInfo: data NarInfo fp txt hash
+ Cachix.Types.NarInfo: data () => NarInfo fp txt hash
- Cachix.Types.Servant: type Get302 (cts :: [Type]) (hs :: [Type]) = Verb 'GET 302 cts (Headers (Header "Location" Text : hs) NoContent)
+ Cachix.Types.Servant: type Get302 (cts :: [Type]) (hs :: [Type]) = Verb 'GET 302 cts (Headers (Header "Location" Text ': hs) NoContent)
- Cachix.Types.Servant: type Post302 (cts :: [Type]) (hs :: [Type]) = Verb 'POST 302 cts (Headers (Header "Location" Text : hs) NoContent)
+ Cachix.Types.Servant: type Post302 (cts :: [Type]) (hs :: [Type]) = Verb 'POST 302 cts (Headers (Header "Location" Text ': hs) NoContent)
Files
- cachix-api.cabal +3/−3
- src/Cachix/Types/BinaryCache.hs +10/−1
- src/Cachix/Types/MultipartUpload.hs +6/−3
cachix-api.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.2 name: cachix-api-version: 1.6.1+version: 1.7 synopsis: Servant HTTP API specification for https://cachix.org homepage: https://github.com/cachix/cachix#readme bug-reports: https://github.com/cachix/cachix/issues@@ -23,13 +23,13 @@ common defaults build-depends: base >=4.7 && <5 default-extensions:- NoImplicitPrelude- NoImportQualifiedPost DeriveAnyClass DeriveGeneric DerivingVia LambdaCase NamedFieldPuns+ NoImplicitPrelude+ NoImportQualifiedPost OverloadedStrings RecordWildCards ScopedTypeVariables
src/Cachix/Types/BinaryCache.hs view
@@ -5,6 +5,7 @@ import Data.Swagger (ToParamSchema (..), ToSchema) import Protolude import Servant.API+import Text.Read type BinaryCacheName = Text @@ -20,7 +21,15 @@ deriving (Show, Generic, FromJSON, ToJSON, ToSchema, NFData) data CompressionMethod = XZ | ZSTD- deriving (Show, Read, Generic, FromJSON, ToJSON, ToSchema, NFData)+ deriving (Show, Eq, Generic, FromJSON, ToJSON, ToSchema, NFData)++instance Read CompressionMethod where+ readsPrec _ value =+ case map toUpper value of+ "XZ" -> [(XZ, "")]+ "ZST" -> [(ZSTD, "")]+ "ZSTD" -> [(ZSTD, "")]+ _ -> [] instance FromHttpApiData CompressionMethod where parseUrlPiece "xz" = Right XZ
src/Cachix/Types/MultipartUpload.hs view
@@ -10,14 +10,14 @@ { narId :: UUID, uploadId :: Text }- deriving stock (Generic, Show)+ deriving stock (Generic, Eq, Show) deriving anyclass (ToJSON, FromJSON, ToSchema, NFData) -- | Any hashes or headers required to create the presigned URL. data SigningData = SigningData { contentMD5 :: Text }- deriving stock (Generic, Show)+ deriving stock (Generic, Eq, Show) deriving anyclass (ToJSON, FromJSON, ToSchema, NFData) newtype UploadPartResponse = UploadPartResponse {uploadUrl :: Text}@@ -29,8 +29,11 @@ -- | An opaque identifier for the uploaded part. eTag :: Text }- deriving stock (Generic, Show)+ deriving stock (Generic, Eq, Show) deriving anyclass (ToJSON, FromJSON, ToSchema, NFData)++instance Ord CompletedPart where+ p1 `compare` p2 = partNumber p1 `compare` partNumber p2 type CompletedParts = Maybe (NonEmpty CompletedPart)