From 9dc2650910bcca92980f0b16fbd5e9e8c94c0473 Mon Sep 17 00:00:00 2001 From: Lia Lenckowski Date: Sat, 29 Jul 2023 15:27:21 +0200 Subject: (prototype) authentication, route for getting pending bangs --- src/Bangs.hs | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 src/Bangs.hs (limited to 'src/Bangs.hs') diff --git a/src/Bangs.hs b/src/Bangs.hs deleted file mode 100644 index 02ec02c..0000000 --- a/src/Bangs.hs +++ /dev/null @@ -1,47 +0,0 @@ -{-# LANGUAGE OverloadedStrings, DeriveGeneric #-} - -module Bangs ( - DDGBangs, - toBangs, - Bangs -) where - -import GHC.Prim -import GHC.Generics (Generic) -import Data.Aeson -import Data.Text (Text) -import qualified Data.Map.Strict as M - --- M.Map BangName (SearchUrl, DisplayName) -newtype Bangs = Bangs { - unBangs :: M.Map Text (Text, Text) -} deriving (Show, Generic) - -instance FromJSON Bangs where - parseJSON b = parseJSON b >>= fmap Bangs . sequence . fmap getInfo - where getInfo v = (,) <$> v .: "url" <*> v .: "name" - -instance ToJSON Bangs where - toJSON (Bangs m) = toJSON - $ (\(url, name) -> object ["url" .= url, "name" .= name]) - <$> m - - -- TODO toEncoding. semi important; makes startup/updates faster - -newtype DDGBangs = DDGBangs (M.Map Text (Text, Text)) deriving (Show) -toBangs :: DDGBangs -> Bangs -toBangs = coerce - -instance FromJSON DDGBangs where - parseJSON b = fmap (DDGBangs . M.fromList) - $ parseJSON b - >>= mapM - (\ob -> (,) <$> ob .: "t" <*> ((,) <$> ob .: "u" <*> ob .: "s")) - --- left-biased union -instance Semigroup Bangs where - Bangs a <> Bangs b = Bangs $ a `M.union` b - -instance Monoid Bangs where - mempty = Bangs M.empty - mconcat = Bangs . M.unions . map unBangs -- cgit v1.2.3-70-g09d2