aboutsummaryrefslogtreecommitdiff
path: root/Types
diff options
context:
space:
mode:
Diffstat (limited to 'Types')
-rw-r--r--Types/Remote.hs9
1 files changed, 7 insertions, 2 deletions
diff --git a/Types/Remote.hs b/Types/Remote.hs
index dd4c7d2e5..bd75840b3 100644
--- a/Types/Remote.hs
+++ b/Types/Remote.hs
@@ -14,6 +14,7 @@ module Types.Remote
, RemoteConfig
, RemoteTypeA(..)
, RemoteA(..)
+ , SetupStage(..)
, Availability(..)
, Verification(..)
, unVerified
@@ -38,8 +39,12 @@ import Utility.SafeCommand
import Utility.Url
type RemoteConfigKey = String
+
type RemoteConfig = M.Map RemoteConfigKey String
+data SetupStage = Init | Enable
+ deriving (Eq)
+
{- There are different types of remotes. -}
data RemoteTypeA a = RemoteType {
-- human visible type name
@@ -49,8 +54,8 @@ data RemoteTypeA a = RemoteType {
enumerate :: Bool -> a [Git.Repo],
-- generates a remote of this type
generate :: Git.Repo -> UUID -> RemoteConfig -> RemoteGitConfig -> a (Maybe (RemoteA a)),
- -- initializes or changes a remote
- setup :: Maybe UUID -> Maybe CredPair -> RemoteConfig -> RemoteGitConfig -> a (RemoteConfig, UUID)
+ -- initializes or enables a remote
+ setup :: SetupStage -> Maybe UUID -> Maybe CredPair -> RemoteConfig -> RemoteGitConfig -> a (RemoteConfig, UUID)
}
instance Eq (RemoteTypeA a) where