module Network.IPFS.File.Form.Types (Form (..)) where import RIO import qualified RIO.ByteString.Lazy as Lazy import Servant.Multipart import qualified Network.IPFS.File.Types as File data Form = Form { Form -> Text name :: Text , Form -> Serialized serialized :: File.Serialized } instance ToMultipart Tmp Form where toMultipart :: Form -> MultipartData Tmp toMultipart Form { $sel:name:Form :: Form -> Text name = Text name, $sel:serialized:Form :: Form -> Serialized serialized = File.Serialized ByteString fileLBS } = [Input] -> [FileData Tmp] -> MultipartData Tmp forall tag. [Input] -> [FileData tag] -> MultipartData tag MultipartData [ Input :: Text -> Text -> Input Input { iName :: Text iName = Text name , iValue :: Text iValue = ByteString -> Text decodeUtf8Lenient (ByteString -> Text) -> ByteString -> Text forall a b. (a -> b) -> a -> b $ ByteString -> ByteString Lazy.toStrict ByteString fileLBS } ] []