wire-api-0.1.0
Safe HaskellSafe-Inferred
LanguageGHC2021

Wire.API.Asset

Synopsis

Asset

data Asset' key Source #

A newly uploaded asset.

Instances

Instances details
Functor Asset' Source # 
Instance details

Defined in Wire.API.Asset

Methods

fmap :: (a -> b) -> Asset' a -> Asset' b #

(<$) :: a -> Asset' b -> Asset' a #

ToSchema Asset Source # 
Instance details

Defined in Wire.API.Asset

Arbitrary key => Arbitrary (Asset' key) Source # 
Instance details

Defined in Wire.API.Asset

Methods

arbitrary :: Gen (Asset' key) Source #

shrink :: Asset' key -> [Asset' key] Source #

ToSchema (Asset' key) => FromJSON (Asset' key) Source # 
Instance details

Defined in Wire.API.Asset

ToSchema (Asset' key) => ToJSON (Asset' key) Source # 
Instance details

Defined in Wire.API.Asset

Generic (Asset' key) Source # 
Instance details

Defined in Wire.API.Asset

Associated Types

type Rep (Asset' key) :: Type -> Type #

Methods

from :: Asset' key -> Rep (Asset' key) x #

to :: Rep (Asset' key) x -> Asset' key #

Show key => Show (Asset' key) Source # 
Instance details

Defined in Wire.API.Asset

Methods

showsPrec :: Int -> Asset' key -> ShowS #

show :: Asset' key -> String #

showList :: [Asset' key] -> ShowS #

Eq key => Eq (Asset' key) Source # 
Instance details

Defined in Wire.API.Asset

Methods

(==) :: Asset' key -> Asset' key -> Bool #

(/=) :: Asset' key -> Asset' key -> Bool #

(Typeable key, ToSchema (Asset' key)) => ToSchema (Asset' key) Source # 
Instance details

Defined in Wire.API.Asset

type Rep (Asset' key) Source # 
Instance details

Defined in Wire.API.Asset

type Rep (Asset' key) = D1 ('MetaData "Asset'" "Wire.API.Asset" "wire-api-0.1.0-EbZS9CKNOfZ8BBy5DRJfXi" 'False) (C1 ('MetaCons "Asset" 'PrefixI 'True) (S1 ('MetaSel ('Just "_assetKey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 key) :*: (S1 ('MetaSel ('Just "_assetExpires") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe UTCTime)) :*: S1 ('MetaSel ('Just "_assetToken") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe AssetToken)))))

mkAsset :: key -> Asset' key Source #

assetKey :: forall key key. Lens (Asset' key) (Asset' key) key key Source #

assetExpires :: forall key. Lens' (Asset' key) (Maybe UTCTime) Source #

assetToken :: forall key. Lens' (Asset' key) (Maybe AssetToken) Source #

AssetKey

data AssetKey Source #

A unique, versioned asset identifier. Note: Can be turned into a sum type with additional constructors for future versions.

Instances

Instances details
Arbitrary AssetKey Source # 
Instance details

Defined in Wire.API.Asset

FromJSON AssetKey Source # 
Instance details

Defined in Wire.API.Asset

ToJSON AssetKey Source # 
Instance details

Defined in Wire.API.Asset

Generic AssetKey Source # 
Instance details

Defined in Wire.API.Asset

Associated Types

type Rep AssetKey :: Type -> Type #

Methods

from :: AssetKey -> Rep AssetKey x #

to :: Rep AssetKey x -> AssetKey #

Show AssetKey Source # 
Instance details

Defined in Wire.API.Asset

FromByteString AssetKey Source # 
Instance details

Defined in Wire.API.Asset

Methods

parser :: Parser AssetKey Source #

ToByteString AssetKey Source # 
Instance details

Defined in Wire.API.Asset

Cql AssetKey Source # 
Instance details

Defined in Wire.API.Asset

Eq AssetKey Source # 
Instance details

Defined in Wire.API.Asset

Ord AssetKey Source # 
Instance details

Defined in Wire.API.Asset

FromHttpApiData AssetKey Source # 
Instance details

Defined in Wire.API.Asset

ToParamSchema AssetKey Source # 
Instance details

Defined in Wire.API.Asset

ToSchema AssetKey Source # 
Instance details

Defined in Wire.API.Asset

ToSchema Asset Source # 
Instance details

Defined in Wire.API.Asset

ToSchema AssetKey Source # 
Instance details

Defined in Wire.API.Asset

type Rep AssetKey Source # 
Instance details

Defined in Wire.API.Asset

type Rep AssetKey = D1 ('MetaData "AssetKey" "Wire.API.Asset" "wire-api-0.1.0-EbZS9CKNOfZ8BBy5DRJfXi" 'False) (C1 ('MetaCons "AssetKeyV3" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 AssetId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 AssetRetention)))

AssetToken

newtype AssetToken Source #

Asset tokens are bearer tokens that grant access to a single asset.

Constructors

AssetToken 

Instances

Instances details
Arbitrary AssetToken Source # 
Instance details

Defined in Wire.API.Asset

FromJSON AssetToken Source # 
Instance details

Defined in Wire.API.Asset

ToJSON AssetToken Source # 
Instance details

Defined in Wire.API.Asset

Show AssetToken Source # 
Instance details

Defined in Wire.API.Asset

FromByteString AssetToken Source # 
Instance details

Defined in Wire.API.Asset

Methods

parser :: Parser AssetToken Source #

ToByteString AssetToken Source # 
Instance details

Defined in Wire.API.Asset

Eq AssetToken Source # 
Instance details

Defined in Wire.API.Asset

FromHttpApiData AssetToken Source # 
Instance details

Defined in Wire.API.Asset

ToParamSchema AssetToken Source # 
Instance details

Defined in Wire.API.Asset

ToSchema AssetToken Source # 
Instance details

Defined in Wire.API.Asset

ToSchema AssetToken Source # 
Instance details

Defined in Wire.API.Asset

Body Construction

buildMultipartBody :: AssetSettings -> Type -> LByteString -> Builder Source #

Build a complete multipart/mixed request body for a one-shot, non-resumable asset upload.

beginMultipartBody :: AssetSettings -> AssetHeaders -> Builder Source #

Begin building a multipart/mixed request body for a non-resumable upload. The returned Builder can be immediately followed by the actual asset bytes.

endMultipartBody :: Builder Source #

The trailer of a non-resumable multipart/mixed request body initiated via beginMultipartBody.

AssetHeaders

data AssetHeaders Source #

Headers provided during upload.

Constructors

AssetHeaders 

Fields

AssetSettings

data AssetSettings Source #

Settings provided during upload.

Instances

Instances details
Arbitrary AssetSettings Source # 
Instance details

Defined in Wire.API.Asset

FromJSON AssetSettings Source # 
Instance details

Defined in Wire.API.Asset

ToJSON AssetSettings Source # 
Instance details

Defined in Wire.API.Asset

Generic AssetSettings Source # 
Instance details

Defined in Wire.API.Asset

Associated Types

type Rep AssetSettings :: Type -> Type #

Show AssetSettings Source # 
Instance details

Defined in Wire.API.Asset

Eq AssetSettings Source # 
Instance details

Defined in Wire.API.Asset

ToSchema AssetSettings Source # 
Instance details

Defined in Wire.API.Asset

ToSchema AssetSettings Source # 
Instance details

Defined in Wire.API.Asset

type Rep AssetSettings Source # 
Instance details

Defined in Wire.API.Asset

type Rep AssetSettings = D1 ('MetaData "AssetSettings" "Wire.API.Asset" "wire-api-0.1.0-EbZS9CKNOfZ8BBy5DRJfXi" 'False) (C1 ('MetaCons "AssetSettings" 'PrefixI 'True) (S1 ('MetaSel ('Just "_setAssetPublic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "_setAssetRetention") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe AssetRetention))))

data AssetRetention Source #

The desired asset retention.

Constructors

AssetEternal

The asset is retained indefinitely. Typically used for profile pictures / assets frequently accessed.

AssetPersistent

DEPRECATED: should not be used by clients for new assets The asset is retained indefinitely.

AssetVolatile

The asset is retained for a short period of time.

AssetEternalInfrequentAccess

The asset is retained indefinitely, storage is optimised for infrequent access

AssetExpiring

The asset is retained for an extended period of time, but not indefinitely.

Instances

Instances details
Arbitrary AssetRetention Source # 
Instance details

Defined in Wire.API.Asset

FromJSON AssetRetention Source # 
Instance details

Defined in Wire.API.Asset

ToJSON AssetRetention Source # 
Instance details

Defined in Wire.API.Asset

Bounded AssetRetention Source # 
Instance details

Defined in Wire.API.Asset

Enum AssetRetention Source # 
Instance details

Defined in Wire.API.Asset

Generic AssetRetention Source # 
Instance details

Defined in Wire.API.Asset

Associated Types

type Rep AssetRetention :: Type -> Type #

Show AssetRetention Source # 
Instance details

Defined in Wire.API.Asset

FromByteString AssetRetention Source #

ByteString representation is used in AssetKey

Instance details

Defined in Wire.API.Asset

Methods

parser :: Parser AssetRetention Source #

ToByteString AssetRetention Source # 
Instance details

Defined in Wire.API.Asset

Eq AssetRetention Source # 
Instance details

Defined in Wire.API.Asset

Ord AssetRetention Source # 
Instance details

Defined in Wire.API.Asset

ToSchema AssetRetention Source # 
Instance details

Defined in Wire.API.Asset

ToSchema AssetRetention Source # 
Instance details

Defined in Wire.API.Asset

type Rep AssetRetention Source # 
Instance details

Defined in Wire.API.Asset

type Rep AssetRetention = D1 ('MetaData "AssetRetention" "Wire.API.Asset" "wire-api-0.1.0-EbZS9CKNOfZ8BBy5DRJfXi" 'False) ((C1 ('MetaCons "AssetEternal" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AssetPersistent" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "AssetVolatile" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AssetEternalInfrequentAccess" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AssetExpiring" 'PrefixI 'False) (U1 :: Type -> Type))))

assetRetentionSeconds :: AssetRetention -> Maybe NominalDiffTime Source #

The minimum TTL in seconds corresponding to a chosen retention.

Streaming

data LocalOrRemoteAsset Source #

An asset as returned by the download API: if the asset is local, only a URL is returned, and if it is remote the content of the asset is streamed.