pantry-0.10.1: Content addressable Haskell package management
Safe HaskellNone
LanguageHaskell2010

Pantry.Internal.Stackage

Description

All types and functions exported from this module are for advanced usage only. They are needed for stackage-server integration with pantry and some are needed for stack testing.

Synopsis

Documentation

data family Key record #

Instances

Instances details
SymbolToField "key" Tree BlobId 
Instance details

Defined in Pantry.Storage

SymbolToField "name" Tree PackageNameId 
Instance details

Defined in Pantry.Storage

SymbolToField "version" Tree VersionId 
Instance details

Defined in Pantry.Storage

SymbolToField "cabal" Tree (Maybe BlobId) 
Instance details

Defined in Pantry.Storage

SymbolToField "id" PackageName (Key PackageName) 
Instance details

Defined in Pantry.Storage

SymbolToField "id" Tree (Key Tree) 
Instance details

Defined in Pantry.Storage

SymbolToField "id" Version (Key Version) 
Instance details

Defined in Pantry.Storage

FromJSON (Key PackageName) 
Instance details

Defined in Pantry.Storage

FromJSON (Key Tree) 
Instance details

Defined in Pantry.Storage

Methods

parseJSON :: Value -> Parser (Key Tree)

parseJSONList :: Value -> Parser [Key Tree]

omittedField :: Maybe (Key Tree)

FromJSON (Key Version) 
Instance details

Defined in Pantry.Storage

Methods

parseJSON :: Value -> Parser (Key Version)

parseJSONList :: Value -> Parser [Key Version]

omittedField :: Maybe (Key Version)

ToJSON (Key PackageName) 
Instance details

Defined in Pantry.Storage

ToJSON (Key Tree) 
Instance details

Defined in Pantry.Storage

Methods

toJSON :: Key Tree -> Value

toEncoding :: Key Tree -> Encoding

toJSONList :: [Key Tree] -> Value

toEncodingList :: [Key Tree] -> Encoding

omitField :: Key Tree -> Bool

ToJSON (Key Version) 
Instance details

Defined in Pantry.Storage

Methods

toJSON :: Key Version -> Value

toEncoding :: Key Version -> Encoding

toJSONList :: [Key Version] -> Value

toEncodingList :: [Key Version] -> Encoding

omitField :: Key Version -> Bool

Read (Key PackageName) 
Instance details

Defined in Pantry.Storage

Methods

readsPrec :: Int -> ReadS (Key PackageName)

readList :: ReadS [Key PackageName]

readPrec :: ReadPrec (Key PackageName)

readListPrec :: ReadPrec [Key PackageName]

Read (Key Tree) 
Instance details

Defined in Pantry.Storage

Methods

readsPrec :: Int -> ReadS (Key Tree)

readList :: ReadS [Key Tree]

readPrec :: ReadPrec (Key Tree)

readListPrec :: ReadPrec [Key Tree]

Read (Key Version) 
Instance details

Defined in Pantry.Storage

Methods

readsPrec :: Int -> ReadS (Key Version)

readList :: ReadS [Key Version]

readPrec :: ReadPrec (Key Version)

readListPrec :: ReadPrec [Key Version]

Show (Key PackageName) 
Instance details

Defined in Pantry.Storage

Methods

showsPrec :: Int -> Key PackageName -> ShowS

show :: Key PackageName -> String

showList :: [Key PackageName] -> ShowS

Show (Key Tree) 
Instance details

Defined in Pantry.Storage

Methods

showsPrec :: Int -> Key Tree -> ShowS

show :: Key Tree -> String

showList :: [Key Tree] -> ShowS

Show (Key Version) 
Instance details

Defined in Pantry.Storage

Methods

showsPrec :: Int -> Key Version -> ShowS

show :: Key Version -> String

showList :: [Key Version] -> ShowS

Eq (Key PackageName) 
Instance details

Defined in Pantry.Storage

Methods

(==) :: Key PackageName -> Key PackageName -> Bool

(/=) :: Key PackageName -> Key PackageName -> Bool

Eq (Key Tree) 
Instance details

Defined in Pantry.Storage

Methods

(==) :: Key Tree -> Key Tree -> Bool

(/=) :: Key Tree -> Key Tree -> Bool

Eq (Key Version) 
Instance details

Defined in Pantry.Storage

Methods

(==) :: Key Version -> Key Version -> Bool

(/=) :: Key Version -> Key Version -> Bool

Ord (Key PackageName) 
Instance details

Defined in Pantry.Storage

Ord (Key Tree) 
Instance details

Defined in Pantry.Storage

Methods

compare :: Key Tree -> Key Tree -> Ordering

(<) :: Key Tree -> Key Tree -> Bool

(<=) :: Key Tree -> Key Tree -> Bool

(>) :: Key Tree -> Key Tree -> Bool

(>=) :: Key Tree -> Key Tree -> Bool

max :: Key Tree -> Key Tree -> Key Tree

min :: Key Tree -> Key Tree -> Key Tree

Ord (Key Version) 
Instance details

Defined in Pantry.Storage

Methods

compare :: Key Version -> Key Version -> Ordering

(<) :: Key Version -> Key Version -> Bool

(<=) :: Key Version -> Key Version -> Bool

(>) :: Key Version -> Key Version -> Bool

(>=) :: Key Version -> Key Version -> Bool

max :: Key Version -> Key Version -> Key Version

min :: Key Version -> Key Version -> Key Version

FromHttpApiData (Key PackageName) 
Instance details

Defined in Pantry.Storage

Methods

parseUrlPiece :: Text -> Either Text (Key PackageName)

parseHeader :: ByteString -> Either Text (Key PackageName)

parseQueryParam :: Text -> Either Text (Key PackageName)

FromHttpApiData (Key Tree) 
Instance details

Defined in Pantry.Storage

Methods

parseUrlPiece :: Text -> Either Text (Key Tree)

parseHeader :: ByteString -> Either Text (Key Tree)

parseQueryParam :: Text -> Either Text (Key Tree)

FromHttpApiData (Key Version) 
Instance details

Defined in Pantry.Storage

Methods

parseUrlPiece :: Text -> Either Text (Key Version)

parseHeader :: ByteString -> Either Text (Key Version)

parseQueryParam :: Text -> Either Text (Key Version)

ToHttpApiData (Key PackageName) 
Instance details

Defined in Pantry.Storage

ToHttpApiData (Key Tree) 
Instance details

Defined in Pantry.Storage

Methods

toUrlPiece :: Key Tree -> Text

toEncodedUrlPiece :: Key Tree -> Builder

toHeader :: Key Tree -> ByteString

toQueryParam :: Key Tree -> Text

toEncodedQueryParam :: Key Tree -> Builder

ToHttpApiData (Key Version) 
Instance details

Defined in Pantry.Storage

Methods

toUrlPiece :: Key Version -> Text

toEncodedUrlPiece :: Key Version -> Builder

toHeader :: Key Version -> ByteString

toQueryParam :: Key Version -> Text

toEncodedQueryParam :: Key Version -> Builder

PathPiece (Key PackageName) 
Instance details

Defined in Pantry.Storage

Methods

fromPathPiece :: Text -> Maybe (Key PackageName)

toPathPiece :: Key PackageName -> Text

PathPiece (Key Tree) 
Instance details

Defined in Pantry.Storage

Methods

fromPathPiece :: Text -> Maybe (Key Tree)

toPathPiece :: Key Tree -> Text

PathPiece (Key Version) 
Instance details

Defined in Pantry.Storage

Methods

fromPathPiece :: Text -> Maybe (Key Version)

toPathPiece :: Key Version -> Text

PersistField (Key PackageName) 
Instance details

Defined in Pantry.Storage

Methods

toPersistValue :: Key PackageName -> PersistValue

fromPersistValue :: PersistValue -> Either Text (Key PackageName)

PersistField (Key Tree) 
Instance details

Defined in Pantry.Storage

Methods

toPersistValue :: Key Tree -> PersistValue

fromPersistValue :: PersistValue -> Either Text (Key Tree)

PersistField (Key Version) 
Instance details

Defined in Pantry.Storage

Methods

toPersistValue :: Key Version -> PersistValue

fromPersistValue :: PersistValue -> Either Text (Key Version)

PersistFieldSql (Key PackageName) 
Instance details

Defined in Pantry.Storage

Methods

sqlType :: Proxy (Key PackageName) -> SqlType

PersistFieldSql (Key Tree) 
Instance details

Defined in Pantry.Storage

Methods

sqlType :: Proxy (Key Tree) -> SqlType

PersistFieldSql (Key Version) 
Instance details

Defined in Pantry.Storage

Methods

sqlType :: Proxy (Key Version) -> SqlType

(PersistEntity a, PersistEntityBackend a ~ backend, IsPersistBackend backend) => RawSql (Key a) 
Instance details

Defined in Database.Persist.Sql.Class

Methods

rawSqlCols :: (Text -> Text) -> Key a -> (Int, [Text])

rawSqlColCountReason :: Key a -> String

rawSqlProcessRow :: [PersistValue] -> Either Text (Key a)

newtype Key PackageName Source # 
Instance details

Defined in Pantry.Storage

newtype Key PackageName = PackageNameKey {}
newtype Key Tree Source # 
Instance details

Defined in Pantry.Storage

newtype Key Tree = TreeKey' {}
newtype Key Version Source # 
Instance details

Defined in Pantry.Storage

newtype Key Version = VersionKey {}

data PackageName Source #

Instances

Instances details
PersistEntity PackageName Source # 
Instance details

Defined in Pantry.Storage

Associated Types

type PersistEntityBackend PackageName 
Instance details

Defined in Pantry.Storage

type PersistEntityBackend PackageName = SqlBackend
newtype Key PackageName 
Instance details

Defined in Pantry.Storage

newtype Key PackageName = PackageNameKey {}
data EntityField PackageName typ 
Instance details

Defined in Pantry.Storage

data Unique PackageName 
Instance details

Defined in Pantry.Storage

Methods

keyToValues :: Key PackageName -> [PersistValue]

keyFromValues :: [PersistValue] -> Either Text (Key PackageName)

persistIdField :: EntityField PackageName (Key PackageName)

entityDef :: proxy PackageName -> EntityDef

persistFieldDef :: EntityField PackageName typ -> FieldDef

toPersistFields :: PackageName -> [PersistValue]

fromPersistValues :: [PersistValue] -> Either Text PackageName

tabulateEntityA :: Applicative f => (forall a. EntityField PackageName a -> f a) -> f (Entity PackageName)

persistUniqueKeys :: PackageName -> [Unique PackageName]

persistUniqueToFieldNames :: Unique PackageName -> NonEmpty (FieldNameHS, FieldNameDB)

persistUniqueToValues :: Unique PackageName -> [PersistValue]

fieldLens :: EntityField PackageName field -> forall (f :: Type -> Type). Functor f => (field -> f field) -> Entity PackageName -> f (Entity PackageName)

keyFromRecordM :: Maybe (PackageName -> Key PackageName)

SafeToInsert PackageName Source # 
Instance details

Defined in Pantry.Storage

PersistField PackageName Source # 
Instance details

Defined in Pantry.Storage

Methods

toPersistValue :: PackageName -> PersistValue

fromPersistValue :: PersistValue -> Either Text PackageName

AtLeastOneUniqueKey PackageName Source # 
Instance details

Defined in Pantry.Storage

OnlyOneUniqueKey PackageName Source # 
Instance details

Defined in Pantry.Storage

PersistFieldSql PackageName Source # 
Instance details

Defined in Pantry.Storage

Methods

sqlType :: Proxy PackageName -> SqlType

ToBackendKey SqlBackend PackageName Source # 
Instance details

Defined in Pantry.Storage

Methods

toBackendKey :: Key PackageName -> BackendKey SqlBackend

fromBackendKey :: BackendKey SqlBackend -> Key PackageName

SymbolToField "name" PackageName PackageNameP Source # 
Instance details

Defined in Pantry.Storage

SymbolToField "name" Tree PackageNameId Source # 
Instance details

Defined in Pantry.Storage

SymbolToField "id" PackageName (Key PackageName) Source # 
Instance details

Defined in Pantry.Storage

FromJSON (Key PackageName) Source # 
Instance details

Defined in Pantry.Storage

ToJSON (Key PackageName) Source # 
Instance details

Defined in Pantry.Storage

Read (Key PackageName) Source # 
Instance details

Defined in Pantry.Storage

Methods

readsPrec :: Int -> ReadS (Key PackageName)

readList :: ReadS [Key PackageName]

readPrec :: ReadPrec (Key PackageName)

readListPrec :: ReadPrec [Key PackageName]

Show (Key PackageName) Source # 
Instance details

Defined in Pantry.Storage

Methods

showsPrec :: Int -> Key PackageName -> ShowS

show :: Key PackageName -> String

showList :: [Key PackageName] -> ShowS

Eq (Key PackageName) Source # 
Instance details

Defined in Pantry.Storage

Methods

(==) :: Key PackageName -> Key PackageName -> Bool

(/=) :: Key PackageName -> Key PackageName -> Bool

Ord (Key PackageName) Source # 
Instance details

Defined in Pantry.Storage

FromHttpApiData (Key PackageName) Source # 
Instance details

Defined in Pantry.Storage

Methods

parseUrlPiece :: Text -> Either Text (Key PackageName)

parseHeader :: ByteString -> Either Text (Key PackageName)

parseQueryParam :: Text -> Either Text (Key PackageName)

ToHttpApiData (Key PackageName) Source # 
Instance details

Defined in Pantry.Storage

PathPiece (Key PackageName) Source # 
Instance details

Defined in Pantry.Storage

Methods

fromPathPiece :: Text -> Maybe (Key PackageName)

toPathPiece :: Key PackageName -> Text

PersistField (Key PackageName) Source # 
Instance details

Defined in Pantry.Storage

Methods

toPersistValue :: Key PackageName -> PersistValue

fromPersistValue :: PersistValue -> Either Text (Key PackageName)

PersistFieldSql (Key PackageName) Source # 
Instance details

Defined in Pantry.Storage

Methods

sqlType :: Proxy (Key PackageName) -> SqlType

data EntityField PackageName typ Source # 
Instance details

Defined in Pantry.Storage

newtype Key PackageName Source # 
Instance details

Defined in Pantry.Storage

newtype Key PackageName = PackageNameKey {}
type PersistEntityBackend PackageName Source # 
Instance details

Defined in Pantry.Storage

type PersistEntityBackend PackageName = SqlBackend
data Unique PackageName Source # 
Instance details

Defined in Pantry.Storage

data Version Source #

Instances

Instances details
PersistEntity Version Source # 
Instance details

Defined in Pantry.Storage

Associated Types

type PersistEntityBackend Version 
Instance details

Defined in Pantry.Storage

type PersistEntityBackend Version = SqlBackend
newtype Key Version 
Instance details

Defined in Pantry.Storage

newtype Key Version = VersionKey {}
data EntityField Version typ 
Instance details

Defined in Pantry.Storage

data Unique Version 
Instance details

Defined in Pantry.Storage

Methods

keyToValues :: Key Version -> [PersistValue]

keyFromValues :: [PersistValue] -> Either Text (Key Version)

persistIdField :: EntityField Version (Key Version)

entityDef :: proxy Version -> EntityDef

persistFieldDef :: EntityField Version typ -> FieldDef

toPersistFields :: Version -> [PersistValue]

fromPersistValues :: [PersistValue] -> Either Text Version

tabulateEntityA :: Applicative f => (forall a. EntityField Version a -> f a) -> f (Entity Version)

persistUniqueKeys :: Version -> [Unique Version]

persistUniqueToFieldNames :: Unique Version -> NonEmpty (FieldNameHS, FieldNameDB)

persistUniqueToValues :: Unique Version -> [PersistValue]

fieldLens :: EntityField Version field -> forall (f :: Type -> Type). Functor f => (field -> f field) -> Entity Version -> f (Entity Version)

keyFromRecordM :: Maybe (Version -> Key Version)

SafeToInsert Version Source # 
Instance details

Defined in Pantry.Storage

PersistField Version Source # 
Instance details

Defined in Pantry.Storage

Methods

toPersistValue :: Version -> PersistValue

fromPersistValue :: PersistValue -> Either Text Version

AtLeastOneUniqueKey Version Source # 
Instance details

Defined in Pantry.Storage

Methods

requireUniquesP :: Version -> NonEmpty (Unique Version)

OnlyOneUniqueKey Version Source # 
Instance details

Defined in Pantry.Storage

PersistFieldSql Version Source # 
Instance details

Defined in Pantry.Storage

Methods

sqlType :: Proxy Version -> SqlType

ToBackendKey SqlBackend Version Source # 
Instance details

Defined in Pantry.Storage

Methods

toBackendKey :: Key Version -> BackendKey SqlBackend

fromBackendKey :: BackendKey SqlBackend -> Key Version

SymbolToField "version" Tree VersionId Source # 
Instance details

Defined in Pantry.Storage

SymbolToField "version" Version VersionP Source # 
Instance details

Defined in Pantry.Storage

SymbolToField "id" Version (Key Version) Source # 
Instance details

Defined in Pantry.Storage

FromJSON (Key Version) Source # 
Instance details

Defined in Pantry.Storage

Methods

parseJSON :: Value -> Parser (Key Version)

parseJSONList :: Value -> Parser [Key Version]

omittedField :: Maybe (Key Version)

ToJSON (Key Version) Source # 
Instance details

Defined in Pantry.Storage

Methods

toJSON :: Key Version -> Value

toEncoding :: Key Version -> Encoding

toJSONList :: [Key Version] -> Value

toEncodingList :: [Key Version] -> Encoding

omitField :: Key Version -> Bool

Read (Key Version) Source # 
Instance details

Defined in Pantry.Storage

Methods

readsPrec :: Int -> ReadS (Key Version)

readList :: ReadS [Key Version]

readPrec :: ReadPrec (Key Version)

readListPrec :: ReadPrec [Key Version]

Show (Key Version) Source # 
Instance details

Defined in Pantry.Storage

Methods

showsPrec :: Int -> Key Version -> ShowS

show :: Key Version -> String

showList :: [Key Version] -> ShowS

Eq (Key Version) Source # 
Instance details

Defined in Pantry.Storage

Methods

(==) :: Key Version -> Key Version -> Bool

(/=) :: Key Version -> Key Version -> Bool

Ord (Key Version) Source # 
Instance details

Defined in Pantry.Storage

Methods

compare :: Key Version -> Key Version -> Ordering

(<) :: Key Version -> Key Version -> Bool

(<=) :: Key Version -> Key Version -> Bool

(>) :: Key Version -> Key Version -> Bool

(>=) :: Key Version -> Key Version -> Bool

max :: Key Version -> Key Version -> Key Version

min :: Key Version -> Key Version -> Key Version

FromHttpApiData (Key Version) Source # 
Instance details

Defined in Pantry.Storage

Methods

parseUrlPiece :: Text -> Either Text (Key Version)

parseHeader :: ByteString -> Either Text (Key Version)

parseQueryParam :: Text -> Either Text (Key Version)

ToHttpApiData (Key Version) Source # 
Instance details

Defined in Pantry.Storage

Methods

toUrlPiece :: Key Version -> Text

toEncodedUrlPiece :: Key Version -> Builder

toHeader :: Key Version -> ByteString

toQueryParam :: Key Version -> Text

toEncodedQueryParam :: Key Version -> Builder

PathPiece (Key Version) Source # 
Instance details

Defined in Pantry.Storage

Methods

fromPathPiece :: Text -> Maybe (Key Version)

toPathPiece :: Key Version -> Text

PersistField (Key Version) Source # 
Instance details

Defined in Pantry.Storage

Methods

toPersistValue :: Key Version -> PersistValue

fromPersistValue :: PersistValue -> Either Text (Key Version)

PersistFieldSql (Key Version) Source # 
Instance details

Defined in Pantry.Storage

Methods

sqlType :: Proxy (Key Version) -> SqlType

data EntityField Version typ Source # 
Instance details

Defined in Pantry.Storage

newtype Key Version Source # 
Instance details

Defined in Pantry.Storage

newtype Key Version = VersionKey {}
type PersistEntityBackend Version Source # 
Instance details

Defined in Pantry.Storage

type PersistEntityBackend Version = SqlBackend
data Unique Version Source # 
Instance details

Defined in Pantry.Storage

data Tree Source #

Constructors

Tree 

Instances

Instances details
PersistEntity Tree Source # 
Instance details

Defined in Pantry.Storage

Associated Types

type PersistEntityBackend Tree 
Instance details

Defined in Pantry.Storage

type PersistEntityBackend Tree = SqlBackend
newtype Key Tree 
Instance details

Defined in Pantry.Storage

newtype Key Tree = TreeKey' {}
data EntityField Tree typ 
Instance details

Defined in Pantry.Storage

data EntityField Tree typ
data Unique Tree 
Instance details

Defined in Pantry.Storage

Methods

keyToValues :: Key Tree -> [PersistValue]

keyFromValues :: [PersistValue] -> Either Text (Key Tree)

persistIdField :: EntityField Tree (Key Tree)

entityDef :: proxy Tree -> EntityDef

persistFieldDef :: EntityField Tree typ -> FieldDef

toPersistFields :: Tree -> [PersistValue]

fromPersistValues :: [PersistValue] -> Either Text Tree

tabulateEntityA :: Applicative f => (forall a. EntityField Tree a -> f a) -> f (Entity Tree)

persistUniqueKeys :: Tree -> [Unique Tree]

persistUniqueToFieldNames :: Unique Tree -> NonEmpty (FieldNameHS, FieldNameDB)

persistUniqueToValues :: Unique Tree -> [PersistValue]

fieldLens :: EntityField Tree field -> forall (f :: Type -> Type). Functor f => (field -> f field) -> Entity Tree -> f (Entity Tree)

keyFromRecordM :: Maybe (Tree -> Key Tree)

SafeToInsert Tree Source # 
Instance details

Defined in Pantry.Storage

PersistField Tree Source # 
Instance details

Defined in Pantry.Storage

Methods

toPersistValue :: Tree -> PersistValue

fromPersistValue :: PersistValue -> Either Text Tree

AtLeastOneUniqueKey Tree Source # 
Instance details

Defined in Pantry.Storage

Methods

requireUniquesP :: Tree -> NonEmpty (Unique Tree)

OnlyOneUniqueKey Tree Source # 
Instance details

Defined in Pantry.Storage

PersistFieldSql Tree Source # 
Instance details

Defined in Pantry.Storage

Methods

sqlType :: Proxy Tree -> SqlType

ToBackendKey SqlBackend Tree Source # 
Instance details

Defined in Pantry.Storage

Methods

toBackendKey :: Key Tree -> BackendKey SqlBackend

fromBackendKey :: BackendKey SqlBackend -> Key Tree

SymbolToField "cabalType" Tree FileType Source # 
Instance details

Defined in Pantry.Storage

SymbolToField "key" Tree BlobId Source # 
Instance details

Defined in Pantry.Storage

SymbolToField "name" Tree PackageNameId Source # 
Instance details

Defined in Pantry.Storage

SymbolToField "version" Tree VersionId Source # 
Instance details

Defined in Pantry.Storage

SymbolToField "cabal" Tree (Maybe BlobId) Source # 
Instance details

Defined in Pantry.Storage

SymbolToField "id" Tree (Key Tree) Source # 
Instance details

Defined in Pantry.Storage

FromJSON (Key Tree) Source # 
Instance details

Defined in Pantry.Storage

Methods

parseJSON :: Value -> Parser (Key Tree)

parseJSONList :: Value -> Parser [Key Tree]

omittedField :: Maybe (Key Tree)

ToJSON (Key Tree) Source # 
Instance details

Defined in Pantry.Storage

Methods

toJSON :: Key Tree -> Value

toEncoding :: Key Tree -> Encoding

toJSONList :: [Key Tree] -> Value

toEncodingList :: [Key Tree] -> Encoding

omitField :: Key Tree -> Bool

Read (Key Tree) Source # 
Instance details

Defined in Pantry.Storage

Methods

readsPrec :: Int -> ReadS (Key Tree)

readList :: ReadS [Key Tree]

readPrec :: ReadPrec (Key Tree)

readListPrec :: ReadPrec [Key Tree]

Show (Key Tree) Source # 
Instance details

Defined in Pantry.Storage

Methods

showsPrec :: Int -> Key Tree -> ShowS

show :: Key Tree -> String

showList :: [Key Tree] -> ShowS

Eq (Key Tree) Source # 
Instance details

Defined in Pantry.Storage

Methods

(==) :: Key Tree -> Key Tree -> Bool

(/=) :: Key Tree -> Key Tree -> Bool

Ord (Key Tree) Source # 
Instance details

Defined in Pantry.Storage

Methods

compare :: Key Tree -> Key Tree -> Ordering

(<) :: Key Tree -> Key Tree -> Bool

(<=) :: Key Tree -> Key Tree -> Bool

(>) :: Key Tree -> Key Tree -> Bool

(>=) :: Key Tree -> Key Tree -> Bool

max :: Key Tree -> Key Tree -> Key Tree

min :: Key Tree -> Key Tree -> Key Tree

FromHttpApiData (Key Tree) Source # 
Instance details

Defined in Pantry.Storage

Methods

parseUrlPiece :: Text -> Either Text (Key Tree)

parseHeader :: ByteString -> Either Text (Key Tree)

parseQueryParam :: Text -> Either Text (Key Tree)

ToHttpApiData (Key Tree) Source # 
Instance details

Defined in Pantry.Storage

Methods

toUrlPiece :: Key Tree -> Text

toEncodedUrlPiece :: Key Tree -> Builder

toHeader :: Key Tree -> ByteString

toQueryParam :: Key Tree -> Text

toEncodedQueryParam :: Key Tree -> Builder

PathPiece (Key Tree) Source # 
Instance details

Defined in Pantry.Storage

Methods

fromPathPiece :: Text -> Maybe (Key Tree)

toPathPiece :: Key Tree -> Text

PersistField (Key Tree) Source # 
Instance details

Defined in Pantry.Storage

Methods

toPersistValue :: Key Tree -> PersistValue

fromPersistValue :: PersistValue -> Either Text (Key Tree)

PersistFieldSql (Key Tree) Source # 
Instance details

Defined in Pantry.Storage

Methods

sqlType :: Proxy (Key Tree) -> SqlType

data EntityField Tree typ Source # 
Instance details

Defined in Pantry.Storage

data EntityField Tree typ
newtype Key Tree Source # 
Instance details

Defined in Pantry.Storage

newtype Key Tree = TreeKey' {}
type PersistEntityBackend Tree Source # 
Instance details

Defined in Pantry.Storage

type PersistEntityBackend Tree = SqlBackend
data Unique Tree Source # 
Instance details

Defined in Pantry.Storage

data family EntityField record :: Type -> Type #

Instances

Instances details
SymbolToField sym rec typ => IsLabel sym (EntityField rec typ) 
Instance details

Defined in Database.Persist.Class.PersistEntity

Methods

fromLabel :: EntityField rec typ

data EntityField PackageName typ Source # 
Instance details

Defined in Pantry.Storage

data EntityField Tree typ Source # 
Instance details

Defined in Pantry.Storage

data EntityField Tree typ
data EntityField Version typ Source # 
Instance details

Defined in Pantry.Storage

data SafeFilePath Source #

Instances

Instances details
Show SafeFilePath 
Instance details

Defined in Pantry.Types

Methods

showsPrec :: Int -> SafeFilePath -> ShowS

show :: SafeFilePath -> String

showList :: [SafeFilePath] -> ShowS

Eq SafeFilePath 
Instance details

Defined in Pantry.Types

Methods

(==) :: SafeFilePath -> SafeFilePath -> Bool

(/=) :: SafeFilePath -> SafeFilePath -> Bool

Ord SafeFilePath 
Instance details

Defined in Pantry.Types

PersistField SafeFilePath 
Instance details

Defined in Pantry.Types

Methods

toPersistValue :: SafeFilePath -> PersistValue

fromPersistValue :: PersistValue -> Either Text SafeFilePath

PersistFieldSql SafeFilePath 
Instance details

Defined in Pantry.Types

Methods

sqlType :: Proxy SafeFilePath -> SqlType

Display SafeFilePath 
Instance details

Defined in Pantry.Types

Methods

display :: SafeFilePath -> Utf8Builder

textDisplay :: SafeFilePath -> Text

newtype ModuleNameP Source #

Constructors

ModuleNameP 

Instances

Instances details
Show ModuleNameP 
Instance details

Defined in Pantry.Types

Methods

showsPrec :: Int -> ModuleNameP -> ShowS

show :: ModuleNameP -> String

showList :: [ModuleNameP] -> ShowS

NFData ModuleNameP 
Instance details

Defined in Pantry.Types

Methods

rnf :: ModuleNameP -> ()

Eq ModuleNameP 
Instance details

Defined in Pantry.Types

Methods

(==) :: ModuleNameP -> ModuleNameP -> Bool

(/=) :: ModuleNameP -> ModuleNameP -> Bool

Ord ModuleNameP 
Instance details

Defined in Pantry.Types

PersistField ModuleNameP 
Instance details

Defined in Pantry.Types

Methods

toPersistValue :: ModuleNameP -> PersistValue

fromPersistValue :: PersistValue -> Either Text ModuleNameP

PersistFieldSql ModuleNameP 
Instance details

Defined in Pantry.Types

Methods

sqlType :: Proxy ModuleNameP -> SqlType

Display ModuleNameP 
Instance details

Defined in Pantry.Types

Methods

display :: ModuleNameP -> Utf8Builder

textDisplay :: ModuleNameP -> Text

newtype VersionP Source #

Constructors

VersionP 

Fields

Instances

Instances details
FromJSON VersionP 
Instance details

Defined in Pantry.Types

Methods

parseJSON :: Value -> Parser VersionP

parseJSONList :: Value -> Parser [VersionP]

omittedField :: Maybe VersionP

ToJSON VersionP 
Instance details

Defined in Pantry.Types

Methods

toJSON :: VersionP -> Value

toEncoding :: VersionP -> Encoding

toJSONList :: [VersionP] -> Value

toEncodingList :: [VersionP] -> Encoding

omitField :: VersionP -> Bool

Read VersionP 
Instance details

Defined in Pantry.Types

Methods

readsPrec :: Int -> ReadS VersionP

readList :: ReadS [VersionP]

readPrec :: ReadPrec VersionP

readListPrec :: ReadPrec [VersionP]

Show VersionP 
Instance details

Defined in Pantry.Types

Methods

showsPrec :: Int -> VersionP -> ShowS

show :: VersionP -> String

showList :: [VersionP] -> ShowS

NFData VersionP 
Instance details

Defined in Pantry.Types

Methods

rnf :: VersionP -> ()

Eq VersionP 
Instance details

Defined in Pantry.Types

Methods

(==) :: VersionP -> VersionP -> Bool

(/=) :: VersionP -> VersionP -> Bool

Ord VersionP 
Instance details

Defined in Pantry.Types

Methods

compare :: VersionP -> VersionP -> Ordering

(<) :: VersionP -> VersionP -> Bool

(<=) :: VersionP -> VersionP -> Bool

(>) :: VersionP -> VersionP -> Bool

(>=) :: VersionP -> VersionP -> Bool

max :: VersionP -> VersionP -> VersionP

min :: VersionP -> VersionP -> VersionP

PersistField VersionP 
Instance details

Defined in Pantry.Types

Methods

toPersistValue :: VersionP -> PersistValue

fromPersistValue :: PersistValue -> Either Text VersionP

PersistFieldSql VersionP 
Instance details

Defined in Pantry.Types

Methods

sqlType :: Proxy VersionP -> SqlType

Display VersionP 
Instance details

Defined in Pantry.Types

Methods

display :: VersionP -> Utf8Builder

textDisplay :: VersionP -> Text

SymbolToField "version" Version VersionP 
Instance details

Defined in Pantry.Storage

newtype PackageNameP Source #

Constructors

PackageNameP 

Instances

Instances details
FromJSON PackageNameP 
Instance details

Defined in Pantry.Types

FromJSONKey PackageNameP 
Instance details

Defined in Pantry.Types

Methods

fromJSONKey :: FromJSONKeyFunction PackageNameP

fromJSONKeyList :: FromJSONKeyFunction [PackageNameP]

ToJSON PackageNameP 
Instance details

Defined in Pantry.Types

ToJSONKey PackageNameP 
Instance details

Defined in Pantry.Types

Methods

toJSONKey :: ToJSONKeyFunction PackageNameP

toJSONKeyList :: ToJSONKeyFunction [PackageNameP]

Read PackageNameP 
Instance details

Defined in Pantry.Types

Methods

readsPrec :: Int -> ReadS PackageNameP

readList :: ReadS [PackageNameP]

readPrec :: ReadPrec PackageNameP

readListPrec :: ReadPrec [PackageNameP]

Show PackageNameP 
Instance details

Defined in Pantry.Types

Methods

showsPrec :: Int -> PackageNameP -> ShowS

show :: PackageNameP -> String

showList :: [PackageNameP] -> ShowS

NFData PackageNameP 
Instance details

Defined in Pantry.Types

Methods

rnf :: PackageNameP -> ()

Eq PackageNameP 
Instance details

Defined in Pantry.Types

Methods

(==) :: PackageNameP -> PackageNameP -> Bool

(/=) :: PackageNameP -> PackageNameP -> Bool

Ord PackageNameP 
Instance details

Defined in Pantry.Types

PersistField PackageNameP 
Instance details

Defined in Pantry.Types

Methods

toPersistValue :: PackageNameP -> PersistValue

fromPersistValue :: PersistValue -> Either Text PackageNameP

PersistFieldSql PackageNameP 
Instance details

Defined in Pantry.Types

Methods

sqlType :: Proxy PackageNameP -> SqlType

Display PackageNameP 
Instance details

Defined in Pantry.Types

Methods

display :: PackageNameP -> Utf8Builder

textDisplay :: PackageNameP -> Text

SymbolToField "name" PackageName PackageNameP 
Instance details

Defined in Pantry.Storage

data PantryConfig Source #

Configuration value used by the entire pantry package. Create one using withPantryConfig or withPantryConfig'. See also PantryApp for a convenience approach to using pantry.

Since: 0.1.0.0

Constructors

PantryConfig 

Fields

data Storage Source #

Represents a SQL database connection.

Constructors

Storage 

Fields

  • withStorage_ :: forall env a. HasLogFunc env => ReaderT SqlBackend (RIO env) a -> RIO env a
     
  • withWriteLock_ :: forall env a. HasLogFunc env => RIO env a -> RIO env a
     

packageTreeKey :: Package -> TreeKey Source #

The TreeKey containing this package.

This is a hash of the binary representation of packageTree.

Since: 0.1.0.0

getHackageTarball :: (HasPantryConfig env, HasLogFunc env, HasProcessContext env) => PackageIdentifierRevision -> Maybe TreeKey -> RIO env HackageTarballResult Source #

data HackageTarballResult Source #

Information returned by getHackageTarball

Since: 0.1.0.0

Constructors

HackageTarballResult 

Fields

  • htrPackage :: !Package

    Package that was loaded from Hackage tarball

  • htrFreshPackageInfo :: !(Maybe (GenericPackageDescription, TreeId))

    This information is only available whenever package was just loaded into pantry.

getTreeForKey :: TreeKey -> ReaderT SqlBackend (RIO env) (Maybe (Entity Tree)) Source #

forceUpdateHackageIndex :: (HasPantryConfig env, HasLogFunc env) => Maybe Utf8Builder -> RIO env DidUpdateOccur Source #

Same as updateHackageIndex, but force the database update even if hackage security tells that there is no change. This can be useful in order to make sure the database is in sync with the locally downloaded tarball

Since: 0.1.0.0

type BlobId = Key Blob Source #

type HackageCabalId = Key HackageCabal Source #

type ModuleNameId = Key ModuleName Source #

type TreeEntryId = Key TreeEntry Source #

data family Unique record #

Instances

Instances details
data Unique PackageName Source # 
Instance details

Defined in Pantry.Storage

data Unique Tree Source # 
Instance details

Defined in Pantry.Storage

data Unique Version Source # 
Instance details

Defined in Pantry.Storage

allBlobsCount :: Maybe BlobId -> ReaderT SqlBackend (RIO env) Int Source #

allBlobsSource Source #

Arguments

:: HasResourceMap env 
=> Maybe BlobId

For some x, yield blob whose id>x.

-> ConduitT () (BlobId, ByteString) (ReaderT SqlBackend (RIO env)) () 

allHackageCabalCount :: Maybe HackageCabalId -> ReaderT SqlBackend (RIO env) Int Source #

allHackageCabalRawPackageLocations Source #

Arguments

:: HasResourceMap env 
=> Maybe HackageCabalId

For some x, yield cabals whose id>x.

-> ReaderT SqlBackend (RIO env) (Map HackageCabalId RawPackageLocationImmutable) 

Pull all hackage cabal entries from the database as RawPackageLocationImmutable. We do a manual join rather than dropping to raw SQL, and Esqueleto would add more deps.

getBlobKey :: BlobId -> ReaderT SqlBackend (RIO env) BlobKey Source #

getPackageNameById :: PackageNameId -> ReaderT SqlBackend (RIO env) (Maybe PackageName) Source #

getPackageNameId :: PackageName -> ReaderT SqlBackend (RIO env) PackageNameId Source #

getVersionId :: Version -> ReaderT SqlBackend (RIO env) VersionId Source #

loadBlobById :: BlobId -> ReaderT SqlBackend (RIO env) ByteString Source #

migrateAll :: Migration Source #

storeBlob :: ByteString -> ReaderT SqlBackend (RIO env) (BlobId, BlobKey) Source #