module Hackage.Security.TUF.Layout.Cache (
    
    CacheLayout(..)
  , cabalCacheLayout
  ) where
import MyPrelude
import Hackage.Security.TUF.Paths
import Hackage.Security.Util.Path
data CacheLayout = CacheLayout {
    
    CacheLayout -> CachePath
cacheLayoutRoot :: CachePath
    
  , CacheLayout -> CachePath
cacheLayoutTimestamp :: CachePath
    
  , CacheLayout -> CachePath
cacheLayoutSnapshot :: CachePath
    
  , CacheLayout -> CachePath
cacheLayoutMirrors :: CachePath
    
  , CacheLayout -> CachePath
cacheLayoutIndexTar :: CachePath
    
  , CacheLayout -> CachePath
cacheLayoutIndexIdx :: CachePath
    
    
    
    
    
  , CacheLayout -> CachePath
cacheLayoutIndexTarGz :: CachePath
  }
cabalCacheLayout :: CacheLayout
cabalCacheLayout :: CacheLayout
cabalCacheLayout = CacheLayout :: CachePath
-> CachePath
-> CachePath
-> CachePath
-> CachePath
-> CachePath
-> CachePath
-> CacheLayout
CacheLayout {
      cacheLayoutRoot :: CachePath
cacheLayoutRoot       = Path Unrooted -> CachePath
rp (Path Unrooted -> CachePath) -> Path Unrooted -> CachePath
forall a b. (a -> b) -> a -> b
$ String -> Path Unrooted
fragment String
"root.json"
    , cacheLayoutTimestamp :: CachePath
cacheLayoutTimestamp  = Path Unrooted -> CachePath
rp (Path Unrooted -> CachePath) -> Path Unrooted -> CachePath
forall a b. (a -> b) -> a -> b
$ String -> Path Unrooted
fragment String
"timestamp.json"
    , cacheLayoutSnapshot :: CachePath
cacheLayoutSnapshot   = Path Unrooted -> CachePath
rp (Path Unrooted -> CachePath) -> Path Unrooted -> CachePath
forall a b. (a -> b) -> a -> b
$ String -> Path Unrooted
fragment String
"snapshot.json"
    , cacheLayoutMirrors :: CachePath
cacheLayoutMirrors    = Path Unrooted -> CachePath
rp (Path Unrooted -> CachePath) -> Path Unrooted -> CachePath
forall a b. (a -> b) -> a -> b
$ String -> Path Unrooted
fragment String
"mirrors.json"
    , cacheLayoutIndexTar :: CachePath
cacheLayoutIndexTar   = Path Unrooted -> CachePath
rp (Path Unrooted -> CachePath) -> Path Unrooted -> CachePath
forall a b. (a -> b) -> a -> b
$ String -> Path Unrooted
fragment String
"00-index.tar"
    , cacheLayoutIndexIdx :: CachePath
cacheLayoutIndexIdx   = Path Unrooted -> CachePath
rp (Path Unrooted -> CachePath) -> Path Unrooted -> CachePath
forall a b. (a -> b) -> a -> b
$ String -> Path Unrooted
fragment String
"00-index.tar.idx"
    , cacheLayoutIndexTarGz :: CachePath
cacheLayoutIndexTarGz = Path Unrooted -> CachePath
rp (Path Unrooted -> CachePath) -> Path Unrooted -> CachePath
forall a b. (a -> b) -> a -> b
$ String -> Path Unrooted
fragment String
"00-index.tar.gz"
    }
  where
    rp :: Path Unrooted -> CachePath
    rp :: Path Unrooted -> CachePath
rp = Path Unrooted -> CachePath
forall root. Path Unrooted -> Path root
rootPath