diff --git a/integration/Setup.hs b/integration/Setup.hs index 71b172a7e2..8dc2c0dc02 100644 --- a/integration/Setup.hs +++ b/integration/Setup.hs @@ -9,10 +9,10 @@ import Data.Bool import Data.Foldable import Data.Function import Data.List -import qualified Data.Map as Map +import Data.Map qualified as Map import Data.Maybe import Data.Monoid -import qualified Data.Set as Set +import Data.Set qualified as Set import Data.String import Distribution.Simple hiding (Language (..), Module (..)) import Distribution.Simple.BuildPaths @@ -22,7 +22,7 @@ import Distribution.Types.Library import Distribution.Types.PackageDescription import Distribution.Utils.Path import Language.Haskell.Exts (Comment (..), Decl (TypeSig), Language (..), Module (..), Name (..), ParseMode (..), SrcSpanInfo, associateHaddock, fromParseResult, parseFileWithComments) -import qualified Language.Haskell.Exts as Exts +import Language.Haskell.Exts qualified as Exts import System.Directory import System.FilePath import Prelude diff --git a/integration/test/API/Brig.hs b/integration/test/API/Brig.hs index 5c7fee6fed..3599528c74 100644 --- a/integration/test/API/Brig.hs +++ b/integration/test/API/Brig.hs @@ -19,13 +19,13 @@ module API.Brig where import API.BrigCommon import API.Common -import qualified Data.Aeson as Aeson -import qualified Data.ByteString.Base64 as Base64 +import Data.Aeson qualified as Aeson +import Data.ByteString.Base64 qualified as Base64 import Data.Foldable import Data.Function -import qualified Data.Text as T -import qualified Data.Text.Encoding as T -import qualified Data.Vector as V +import Data.Text qualified as T +import Data.Text.Encoding qualified as T +import Data.Vector qualified as V import GHC.Stack import Testlib.Prelude diff --git a/integration/test/API/BrigInternal.hs b/integration/test/API/BrigInternal.hs index d23d793f2e..f8f3be903d 100644 --- a/integration/test/API/BrigInternal.hs +++ b/integration/test/API/BrigInternal.hs @@ -19,7 +19,7 @@ module API.BrigInternal where import API.BrigCommon import API.Common -import qualified Data.Aeson as Aeson +import Data.Aeson qualified as Aeson import Data.Aeson.Types (Pair) import Data.Function import Data.Maybe diff --git a/integration/test/API/Cargohold.hs b/integration/test/API/Cargohold.hs index 6da1ff2941..3ac1635ab1 100644 --- a/integration/test/API/Cargohold.hs +++ b/integration/test/API/Cargohold.hs @@ -18,23 +18,23 @@ module API.Cargohold where import API.Federator -import qualified Codec.MIME.Parse as MIME -import qualified Codec.MIME.Type as MIME -import qualified Data.Aeson as Aeson -import qualified Data.Aeson.KeyMap as Aeson +import Codec.MIME.Parse qualified as MIME +import Codec.MIME.Type qualified as MIME +import Data.Aeson qualified as Aeson +import Data.Aeson.KeyMap qualified as Aeson import Data.ByteString.Builder import Data.ByteString.Conversion -import qualified Data.ByteString.Lazy as LBS -import qualified Data.ByteString.Lazy as Lazy -import qualified Data.ByteString.Lazy.Char8 as LBSC -import qualified Data.ByteString.Lazy.Char8 as Lazy8 +import Data.ByteString.Lazy qualified as LBS +import Data.ByteString.Lazy qualified as Lazy +import Data.ByteString.Lazy.Char8 qualified as LBSC +import Data.ByteString.Lazy.Char8 qualified as Lazy8 import Data.CaseInsensitive import Data.String.Conversions -import qualified Data.Text as T +import Data.Text qualified as T import Data.Text.Encoding (decodeLatin1, decodeUtf8, encodeUtf8, encodeUtf8Builder) import GHC.Stack import Network.HTTP.Client (Request (redirectCount, requestHeaders)) -import qualified Network.HTTP.Client as HTTP +import Network.HTTP.Client qualified as HTTP import Network.HTTP.Types.Header (HeaderName) import Testlib.Prelude import UnliftIO (catch) diff --git a/integration/test/API/Common.hs b/integration/test/API/Common.hs index a22f489c9f..84972e756d 100644 --- a/integration/test/API/Common.hs +++ b/integration/test/API/Common.hs @@ -20,10 +20,10 @@ module API.Common where import Control.Monad import Control.Monad.IO.Class import Data.Array ((!)) -import qualified Data.Array as Array -import qualified Data.ByteString as BS +import Data.Array qualified as Array +import Data.ByteString qualified as BS import Data.Scientific (scientific) -import qualified Data.Vector as Vector +import Data.Vector qualified as Vector import System.Random (randomIO, randomRIO) import Testlib.Prelude diff --git a/integration/test/API/Federator.hs b/integration/test/API/Federator.hs index 4d0bdbe007..9668a5e3bd 100644 --- a/integration/test/API/Federator.hs +++ b/integration/test/API/Federator.hs @@ -19,7 +19,7 @@ module API.Federator where import Data.Function import GHC.Stack -import qualified Network.HTTP.Client as HTTP +import Network.HTTP.Client qualified as HTTP import Testlib.Prelude getMetrics :: diff --git a/integration/test/API/Galley.hs b/integration/test/API/Galley.hs index c6295e4463..22983d5ac0 100644 --- a/integration/test/API/Galley.hs +++ b/integration/test/API/Galley.hs @@ -24,15 +24,15 @@ import API.Common import Control.Lens hiding ((.=)) import Control.Monad.Reader import Control.Retry -import qualified Data.Aeson as Aeson -import qualified Data.Aeson.Types as Aeson -import qualified Data.ByteString.Base64 as B64 -import qualified Data.ByteString.Base64.URL as B64U -import qualified Data.ByteString.Char8 as BS -import qualified Data.ByteString.Lazy as LBS -import qualified Data.ProtoLens as Proto +import Data.Aeson qualified as Aeson +import Data.Aeson.Types qualified as Aeson +import Data.ByteString.Base64 qualified as B64 +import Data.ByteString.Base64.URL qualified as B64U +import Data.ByteString.Char8 qualified as BS +import Data.ByteString.Lazy qualified as LBS +import Data.ProtoLens qualified as Proto import Data.ProtoLens.Labels () -import qualified Data.UUID as UUID +import Data.UUID qualified as UUID import Numeric.Lens import Proto.Otr as Proto import Testlib.Prelude diff --git a/integration/test/API/GalleyInternal.hs b/integration/test/API/GalleyInternal.hs index 2579be6c15..163bd3419f 100644 --- a/integration/test/API/GalleyInternal.hs +++ b/integration/test/API/GalleyInternal.hs @@ -17,11 +17,11 @@ module API.GalleyInternal where -import qualified Data.Aeson as A -import qualified Data.Aeson as Aeson +import Data.Aeson qualified as A +import Data.Aeson qualified as Aeson import Data.String.Conversions (cs) -import qualified Data.Text as T -import qualified Data.Vector as Vector +import Data.Text qualified as T +import Data.Vector qualified as Vector import GHC.Stack import Testlib.Prelude diff --git a/integration/test/API/Gundeck.hs b/integration/test/API/Gundeck.hs index cdf076ddc1..13c74205f5 100644 --- a/integration/test/API/Gundeck.hs +++ b/integration/test/API/Gundeck.hs @@ -18,9 +18,9 @@ module API.Gundeck where import API.Common -import qualified Data.ByteString.Base16 as Base16 -import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text +import Data.ByteString.Base16 qualified as Base16 +import Data.Text qualified as Text +import Data.Text.Encoding qualified as Text import Testlib.Prelude data GetNotifications = GetNotifications diff --git a/integration/test/API/Nginz.hs b/integration/test/API/Nginz.hs index 3649bf1d8c..5b8829b26d 100644 --- a/integration/test/API/Nginz.hs +++ b/integration/test/API/Nginz.hs @@ -18,10 +18,10 @@ module API.Nginz where import API.Cargohold -import qualified Codec.MIME.Type as MIME -import qualified Data.Aeson as Aeson -import qualified Data.ByteString.Lazy as LBS -import qualified Network.HTTP.Client as HTTP +import Codec.MIME.Type qualified as MIME +import Data.Aeson qualified as Aeson +import Data.ByteString.Lazy qualified as LBS +import Network.HTTP.Client qualified as HTTP import Testlib.Prelude getSystemSettingsUnAuthorized :: (HasCallStack, MakesValue domain) => domain -> App Response diff --git a/integration/test/API/Spar.hs b/integration/test/API/Spar.hs index 9fd18a9efd..a7ef650463 100644 --- a/integration/test/API/Spar.hs +++ b/integration/test/API/Spar.hs @@ -18,16 +18,16 @@ module API.Spar where import API.Common (defPassword) -import qualified Data.ByteString.Base64.Lazy as EL +import Data.ByteString.Base64.Lazy qualified as EL import Data.String.Conversions (cs) import Data.String.Conversions.Monomorphic (fromLT) import GHC.Stack import Network.HTTP.Client (Request) import Network.HTTP.Client.MultipartFormData -import qualified SAML2.WebSSO as SAML -import qualified SAML2.WebSSO.Test.MockResponse as SAML +import SAML2.WebSSO qualified as SAML +import SAML2.WebSSO.Test.MockResponse qualified as SAML import Testlib.Prelude -import qualified Text.XML as XML +import Text.XML qualified as XML -- | https://staging-nginz-https.zinfra.io/v6/api/swagger-ui/#/default/get_scim_auth_tokens getScimTokens :: (HasCallStack, MakesValue caller) => caller -> App Response diff --git a/integration/test/MLS/Util.hs b/integration/test/MLS/Util.hs index 8e50d2998c..626284b2fc 100644 --- a/integration/test/MLS/Util.hs +++ b/integration/test/MLS/Util.hs @@ -29,21 +29,21 @@ import Control.Monad.Codensity import Control.Monad.Cont import Control.Monad.Reader import Control.Monad.Trans.Maybe -import qualified Data.Aeson as Aeson -import qualified Data.ByteString as BS -import qualified Data.ByteString.Base64 as Base64 -import qualified Data.ByteString.Char8 as B8 -import qualified Data.ByteString.Char8 as C8 +import Data.Aeson qualified as Aeson +import Data.ByteString qualified as BS +import Data.ByteString.Base64 qualified as Base64 +import Data.ByteString.Char8 qualified as B8 +import Data.ByteString.Char8 qualified as C8 import Data.Default import Data.Foldable import Data.Function -import qualified Data.Map as Map +import Data.Map qualified as Map import Data.Maybe -import qualified Data.Set as Set -import qualified Data.Text.Encoding as T +import Data.Set qualified as Set +import Data.Text.Encoding qualified as T import Data.Traversable -import qualified Data.UUID as UUID -import qualified Data.UUID.V4 as UUIDV4 +import Data.UUID qualified as UUID +import Data.UUID.V4 qualified as UUIDV4 import GHC.Stack import Notifications import System.Directory diff --git a/integration/test/SetupHelpers.hs b/integration/test/SetupHelpers.hs index 61f8497d9d..b1a846186b 100644 --- a/integration/test/SetupHelpers.hs +++ b/integration/test/SetupHelpers.hs @@ -29,25 +29,25 @@ import API.Spar import Control.Monad.Reader import Crypto.Random (getRandomBytes) import Data.Aeson hiding ((.=)) -import qualified Data.Aeson.Types as Aeson -import qualified Data.ByteString.Base16 as Base16 -import qualified Data.ByteString.Base64.Lazy as EL -import qualified Data.ByteString.Base64.URL as B64Url +import Data.Aeson.Types qualified as Aeson +import Data.ByteString.Base16 qualified as Base16 +import Data.ByteString.Base64.Lazy qualified as EL +import Data.ByteString.Base64.URL qualified as B64Url import Data.ByteString.Char8 (unpack) -import qualified Data.CaseInsensitive as CI +import Data.CaseInsensitive qualified as CI import Data.Default import Data.Function import Data.String.Conversions (cs) -import qualified Data.Text as Text +import Data.Text qualified as Text import Data.Text.Encoding (decodeUtf8) -import qualified Data.UUID as UUID +import Data.UUID qualified as UUID import Data.UUID.V1 (nextUUID) import Data.UUID.V4 (nextRandom) import Data.Vector (fromList) import GHC.Stack -import qualified SAML2.WebSSO as SAML -import qualified SAML2.WebSSO.API.Example as SAML -import qualified SAML2.WebSSO.Test.MockResponse as SAML +import SAML2.WebSSO qualified as SAML +import SAML2.WebSSO.API.Example qualified as SAML +import SAML2.WebSSO.Test.MockResponse qualified as SAML import SAML2.WebSSO.Test.Util (SampleIdP (..), makeSampleIdPMetadata) import System.Random (randomRIO) import Test.DNSMock @@ -55,9 +55,9 @@ import Testlib.JSON import Testlib.Prelude import Testlib.Printing (indent) import Text.Regex.TDFA ((=~)) -import qualified Text.XML as XML -import qualified Text.XML.Cursor as XML -import qualified Text.XML.DSig as SAML +import Text.XML qualified as XML +import Text.XML.Cursor qualified as XML +import Text.XML.DSig qualified as SAML import UnliftIO (pooledForConcurrentlyN) randomUser :: (HasCallStack, MakesValue domain) => domain -> CreateUser -> App Value diff --git a/integration/test/Test/Auth.hs b/integration/test/Test/Auth.hs index 5a723c390d..448584c70a 100644 --- a/integration/test/Test/Auth.hs +++ b/integration/test/Test/Auth.hs @@ -21,8 +21,8 @@ import API.Brig import API.BrigInternal import API.Common import API.GalleyInternal -import qualified API.Nginz as Nginz -import qualified Data.ByteString.Char8 as BSChar8 +import API.Nginz qualified as Nginz +import Data.ByteString.Char8 qualified as BSChar8 import SetupHelpers import Testlib.Prelude import Text.Read diff --git a/integration/test/Test/Bot.hs b/integration/test/Test/Bot.hs index f96bc7733a..a51ae48292 100644 --- a/integration/test/Test/Bot.hs +++ b/integration/test/Test/Bot.hs @@ -22,16 +22,16 @@ import API.Common import API.Galley import Control.Lens hiding ((.=)) import Control.Monad.Reader -import qualified Data.Aeson as Aeson -import qualified Data.ProtoLens as Proto +import Data.Aeson qualified as Aeson +import Data.ProtoLens qualified as Proto import Data.Proxy (Proxy (Proxy)) import Data.String.Conversions (cs) import Network.HTTP.Types (status200, status201) import Network.Wai (responseLBS) -import qualified Network.Wai as Wai +import Network.Wai qualified as Wai import Numeric.Lens (hex) -import qualified Proto.Otr as Proto -import qualified Proto.Otr_Fields as Proto +import Proto.Otr qualified as Proto +import Proto.Otr_Fields qualified as Proto import Servant.API import Servant.API.Extended.Endpath import Servant.Server diff --git a/integration/test/Test/Brig.hs b/integration/test/Test/Brig.hs index 962274a4b2..9b9bfd56cd 100644 --- a/integration/test/Test/Brig.hs +++ b/integration/test/Test/Brig.hs @@ -21,7 +21,7 @@ module Test.Brig where import API.Brig as BrigP -import qualified API.BrigInternal as BrigI +import API.BrigInternal qualified as BrigI import API.Common import API.GalleyInternal (setTeamFeatureStatus) import API.Spar @@ -29,8 +29,8 @@ import Control.Retry import Data.Aeson.Types hiding ((.=)) import Data.List.Split import Data.String.Conversions -import qualified Data.UUID as UUID -import qualified Data.UUID.V4 as UUID +import Data.UUID qualified as UUID +import Data.UUID.V4 qualified as UUID import GHC.Stack import SetupHelpers import System.IO.Extra diff --git a/integration/test/Test/Cargohold/API.hs b/integration/test/Test/Cargohold/API.hs index f084bf4657..79226f72e9 100644 --- a/integration/test/Test/Cargohold/API.hs +++ b/integration/test/Test/Cargohold/API.hs @@ -20,21 +20,21 @@ module Test.Cargohold.API where import API.Cargohold -import qualified Codec.MIME.Type as MIME +import Codec.MIME.Type qualified as MIME import Control.Lens hiding (sets, (.=)) -import qualified Data.Aeson.KeyMap as KM +import Data.Aeson.KeyMap qualified as KM import Data.Aeson.Types (Pair) -import qualified Data.ByteString.Char8 as BC -import qualified Data.ByteString.Char8 as C8 -import qualified Data.ByteString.Lazy as LBS hiding (replicate) -import qualified Data.ByteString.Lazy.Char8 as L8 +import Data.ByteString.Char8 qualified as BC +import Data.ByteString.Char8 qualified as C8 +import Data.ByteString.Lazy qualified as LBS hiding (replicate) +import Data.ByteString.Lazy.Char8 qualified as L8 import Data.CaseInsensitive (mk) import Data.String.Conversions import Data.Time (UTCTime, defaultTimeLocale, parseTimeOrError, rfc822DateFormat) import Data.Time.Format.ISO8601 (formatParseM, iso8601Format) import Network.HTTP.Client (parseUrlThrow) -import qualified Network.HTTP.Client as HTTP -import qualified Network.HTTP.Types as HTTP +import Network.HTTP.Client qualified as HTTP +import Network.HTTP.Types qualified as HTTP import SetupHelpers (createTeam, randomId, randomUser) import Testlib.Prelude import UnliftIO.Concurrent diff --git a/integration/test/Test/Cargohold/API/Federation.hs b/integration/test/Test/Cargohold/API/Federation.hs index c5c69031d6..676e0c6830 100644 --- a/integration/test/Test/Cargohold/API/Federation.hs +++ b/integration/test/Test/Cargohold/API/Federation.hs @@ -18,7 +18,7 @@ module Test.Cargohold.API.Federation where import API.Cargohold -import qualified Codec.MIME.Type as MIME +import Codec.MIME.Type qualified as MIME import Control.Lens hiding ((.=)) import Crypto.Random (getRandomBytes) import Data.ByteString.Builder diff --git a/integration/test/Test/Cargohold/API/V3.hs b/integration/test/Test/Cargohold/API/V3.hs index 979a958a26..4361f58ed1 100644 --- a/integration/test/Test/Cargohold/API/V3.hs +++ b/integration/test/Test/Cargohold/API/V3.hs @@ -22,11 +22,11 @@ module Test.Cargohold.API.V3 where import API.Cargohold import Codec.MIME.Type (showMIMEType) import Crypto.Random -import qualified Data.Aeson.KeyMap as KM -import qualified Data.ByteString as BS +import Data.Aeson.KeyMap qualified as KM +import Data.ByteString qualified as BS import Data.ByteString.Builder -import qualified Data.ByteString.Char8 as C8 -import qualified Data.ByteString.Lazy as LBS +import Data.ByteString.Char8 qualified as C8 +import Data.ByteString.Lazy qualified as LBS import Data.CaseInsensitive import Data.String.Conversions import Data.Text diff --git a/integration/test/Test/Cells.hs b/integration/test/Test/Cells.hs index fad0d12c4b..a4d324f53c 100644 --- a/integration/test/Test/Cells.hs +++ b/integration/test/Test/Cells.hs @@ -20,17 +20,17 @@ module Test.Cells where import API.Galley -import qualified API.GalleyInternal as I +import API.GalleyInternal qualified as I import Control.Concurrent import Control.Concurrent.Async import Control.Concurrent.STM -import qualified Control.Exception as E +import Control.Exception qualified as E import Control.Monad.Codensity import Control.Monad.Reader import Control.Retry -import qualified Data.Aeson as A +import Data.Aeson qualified as A import Data.IORef -import qualified Data.Map as Map +import Data.Map qualified as Map import Network.AMQP import Network.AMQP.Extended import Notifications diff --git a/integration/test/Test/ChannelSearch.hs b/integration/test/Test/ChannelSearch.hs index 2338471375..c92ea38274 100644 --- a/integration/test/Test/ChannelSearch.hs +++ b/integration/test/Test/ChannelSearch.hs @@ -20,7 +20,7 @@ module Test.ChannelSearch where import API.Galley -import qualified API.GalleyInternal as I +import API.GalleyInternal qualified as I import MLS.Util import SetupHelpers import Testlib.Prelude diff --git a/integration/test/Test/Channels.hs b/integration/test/Test/Channels.hs index 47f318bd75..ac33d91a4e 100644 --- a/integration/test/Test/Channels.hs +++ b/integration/test/Test/Channels.hs @@ -23,7 +23,7 @@ import API.Brig import API.Common (randomName) import API.Galley import API.GalleyInternal hiding (getConversation, setTeamFeatureConfig) -import qualified API.GalleyInternal as I +import API.GalleyInternal qualified as I import GHC.Stack import MLS.Util import Notifications (isChannelAddPermissionUpdate, isMemberJoinNotif, isWelcomeNotif) diff --git a/integration/test/Test/Client.hs b/integration/test/Test/Client.hs index 3df62bca12..da143cacbb 100644 --- a/integration/test/Test/Client.hs +++ b/integration/test/Test/Client.hs @@ -20,7 +20,7 @@ module Test.Client where import API.Brig -import qualified API.Brig as API +import API.Brig qualified as API import API.BrigCommon import API.Gundeck import Control.Lens hiding ((.=)) diff --git a/integration/test/Test/Conversation.hs b/integration/test/Test/Conversation.hs index 131260d5b7..7590f4f163 100644 --- a/integration/test/Test/Conversation.hs +++ b/integration/test/Test/Conversation.hs @@ -20,16 +20,16 @@ module Test.Conversation where import API.Brig -import qualified API.BrigInternal as BrigI +import API.BrigInternal qualified as BrigI import API.Galley import API.GalleyInternal hiding (getConversation) -import qualified API.GalleyInternal as I +import API.GalleyInternal qualified as I import Control.Applicative import Control.Concurrent (threadDelay) import Control.Monad.Codensity import Control.Monad.Reader -import qualified Data.Aeson as Aeson -import qualified Data.Text as T +import Data.Aeson qualified as Aeson +import Data.Text qualified as T import GHC.Stack import Notifications import SetupHelpers hiding (deleteUser) diff --git a/integration/test/Test/Conversation/Migration.hs b/integration/test/Test/Conversation/Migration.hs index 97472960d4..8c35353bce 100644 --- a/integration/test/Test/Conversation/Migration.hs +++ b/integration/test/Test/Conversation/Migration.hs @@ -18,11 +18,11 @@ import Control.Concurrent (threadDelay) import Control.Monad.Codensity import Control.Monad.Reader import Data.IntMap (IntMap) -import qualified Data.IntMap as IntMap -import qualified Data.IntSet as IntSet +import Data.IntMap qualified as IntMap +import Data.IntSet qualified as IntSet import Data.Text (Text) -import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text +import Data.Text qualified as Text +import Data.Text.Encoding qualified as Text import GHC.Stack import MLS.Util import Notifications diff --git a/integration/test/Test/DNSMock.hs b/integration/test/Test/DNSMock.hs index 69ac6af278..a29185c856 100644 --- a/integration/test/Test/DNSMock.hs +++ b/integration/test/Test/DNSMock.hs @@ -21,10 +21,10 @@ module Test.DNSMock where import Control.Lens import Control.Monad.Reader.Class -import qualified Data.ByteString.Lazy as LBS +import Data.ByteString.Lazy qualified as LBS import Network.DNS import Network.DNS.Decode as Dec -import qualified Network.HTTP.Client as HTTP +import Network.HTTP.Client qualified as HTTP import Testlib.Prelude type LByteString = LBS.ByteString diff --git a/integration/test/Test/Demo.hs b/integration/test/Test/Demo.hs index 8d93872208..fc31635f31 100644 --- a/integration/test/Test/Demo.hs +++ b/integration/test/Test/Demo.hs @@ -3,10 +3,10 @@ -- | This module is meant to show how Testlib can be used module Test.Demo where -import qualified API.Brig as BrigP -import qualified API.BrigInternal as BrigI -import qualified API.GalleyInternal as GalleyI -import qualified API.Nginz as Nginz +import API.Brig qualified as BrigP +import API.BrigInternal qualified as BrigI +import API.GalleyInternal qualified as GalleyI +import API.Nginz qualified as Nginz import GHC.Stack import SetupHelpers import Testlib.Prelude diff --git a/integration/test/Test/EJPD.hs b/integration/test/Test/EJPD.hs index c096024aec..26961e140c 100644 --- a/integration/test/Test/EJPD.hs +++ b/integration/test/Test/EJPD.hs @@ -24,17 +24,17 @@ module Test.EJPD where import API.Brig -import qualified API.BrigInternal as BI +import API.BrigInternal qualified as BI import API.Galley import API.Gundeck import Control.Lens hiding ((.=)) import Control.Monad.Reader -import qualified Data.Aeson as A +import Data.Aeson qualified as A import Data.Aeson.Lens import Data.String.Conversions (cs) -import qualified Data.UUID as UUID -import qualified Data.UUID.V4 as UUID -import qualified Network.Wreq as Wreq +import Data.UUID qualified as UUID +import Data.UUID.V4 qualified as UUID +import Network.Wreq qualified as Wreq import SetupHelpers import Testlib.JSON import Testlib.Prelude diff --git a/integration/test/Test/Errors.hs b/integration/test/Test/Errors.hs index 055ffbdbcf..e13af50058 100644 --- a/integration/test/Test/Errors.hs +++ b/integration/test/Test/Errors.hs @@ -22,9 +22,9 @@ module Test.Errors where import API.Brig import Control.Monad.Codensity import Control.Monad.Reader -import qualified Data.Aeson as Aeson -import qualified Network.HTTP.Types as HTTP -import qualified Network.Wai as Wai +import Data.Aeson qualified as Aeson +import Network.HTTP.Types qualified as HTTP +import Network.Wai qualified as Wai import SetupHelpers import Testlib.Mock import Testlib.Prelude diff --git a/integration/test/Test/Events.hs b/integration/test/Test/Events.hs index d85b42ba32..b220966d9c 100644 --- a/integration/test/Test/Events.hs +++ b/integration/test/Test/Events.hs @@ -24,8 +24,8 @@ import API.BrigCommon import API.Common import API.Galley import API.Gundeck -import qualified API.GundeckInternal as GundeckInternal -import qualified Control.Concurrent.Timeout as Timeout +import API.GundeckInternal qualified as GundeckInternal +import Control.Concurrent.Timeout qualified as Timeout import Control.Lens ((.~), (^?!)) import Control.Monad.Codensity import Control.Monad.RWS (asks) @@ -33,22 +33,22 @@ import Control.Monad.Trans.Class import Control.Monad.Trans.Maybe import Control.Retry import Data.ByteString.Conversion (toByteString') -import qualified Data.ProtoLens as Proto +import Data.ProtoLens qualified as Proto import Data.ProtoLens.Labels () import Data.Proxy (Proxy (..)) -import qualified Data.Text as Text +import Data.Text qualified as Text import Data.Timeout import Network.AMQP.Extended import Network.RabbitMqAdmin -import qualified Network.WebSockets as WS +import Network.WebSockets qualified as WS import Notifications import Numeric.Lens -import qualified Proto.Otr as Proto -import qualified Proto.Otr_Fields as Proto +import Proto.Otr qualified as Proto +import Proto.Otr_Fields qualified as Proto import Servant.API (AsApi, ToServant, toServant) import Servant.API.Generic (fromServant) import Servant.Client (AsClientT) -import qualified Servant.Client as Servant +import Servant.Client qualified as Servant import SetupHelpers import Testlib.Prelude import Testlib.ResourcePool diff --git a/integration/test/Test/FeatureFlags.hs b/integration/test/Test/FeatureFlags.hs index c0623fb17f..45c4751d4c 100644 --- a/integration/test/Test/FeatureFlags.hs +++ b/integration/test/Test/FeatureFlags.hs @@ -19,12 +19,12 @@ module Test.FeatureFlags where -import qualified API.Galley as Public -import qualified API.GalleyInternal as Internal -import qualified Data.Aeson as A -import qualified Data.Aeson.Key as A -import qualified Data.Aeson.KeyMap as KM -import qualified Data.Set as Set +import API.Galley qualified as Public +import API.GalleyInternal qualified as Internal +import Data.Aeson qualified as A +import Data.Aeson.Key qualified as A +import Data.Aeson.KeyMap qualified as KM +import Data.Set qualified as Set import SetupHelpers import Test.FeatureFlags.Util import Testlib.Prelude diff --git a/integration/test/Test/FeatureFlags/AllowedGlobalOperations.hs b/integration/test/Test/FeatureFlags/AllowedGlobalOperations.hs index 0f925444ed..acc1f93358 100644 --- a/integration/test/Test/FeatureFlags/AllowedGlobalOperations.hs +++ b/integration/test/Test/FeatureFlags/AllowedGlobalOperations.hs @@ -17,8 +17,8 @@ module Test.FeatureFlags.AllowedGlobalOperations where -import qualified API.Galley as Public -import qualified API.GalleyInternal as Internal +import API.Galley qualified as Public +import API.GalleyInternal qualified as Internal import SetupHelpers import Test.FeatureFlags.Util import Testlib.Prelude diff --git a/integration/test/Test/FeatureFlags/AppLock.hs b/integration/test/Test/FeatureFlags/AppLock.hs index 60d175edc3..8ad218c71d 100644 --- a/integration/test/Test/FeatureFlags/AppLock.hs +++ b/integration/test/Test/FeatureFlags/AppLock.hs @@ -17,7 +17,7 @@ module Test.FeatureFlags.AppLock where -import qualified Data.Aeson as A +import Data.Aeson qualified as A import Test.FeatureFlags.Util import Testlib.Prelude diff --git a/integration/test/Test/FeatureFlags/Apps.hs b/integration/test/Test/FeatureFlags/Apps.hs index 06f82ea02b..91f90b49af 100644 --- a/integration/test/Test/FeatureFlags/Apps.hs +++ b/integration/test/Test/FeatureFlags/Apps.hs @@ -17,7 +17,7 @@ module Test.FeatureFlags.Apps where -import qualified API.GalleyInternal as Internal +import API.GalleyInternal qualified as Internal import SetupHelpers import Test.FeatureFlags.Util import Testlib.Prelude diff --git a/integration/test/Test/FeatureFlags/AssetAuditLog.hs b/integration/test/Test/FeatureFlags/AssetAuditLog.hs index 3e3abc7572..33bd562a69 100644 --- a/integration/test/Test/FeatureFlags/AssetAuditLog.hs +++ b/integration/test/Test/FeatureFlags/AssetAuditLog.hs @@ -17,8 +17,8 @@ module Test.FeatureFlags.AssetAuditLog where -import qualified API.Galley as Public -import qualified API.GalleyInternal as Internal +import API.Galley qualified as Public +import API.GalleyInternal qualified as Internal import SetupHelpers import Test.FeatureFlags.Util import Testlib.Prelude diff --git a/integration/test/Test/FeatureFlags/CellsInternal.hs b/integration/test/Test/FeatureFlags/CellsInternal.hs index 550d079d14..ba6b6801fc 100644 --- a/integration/test/Test/FeatureFlags/CellsInternal.hs +++ b/integration/test/Test/FeatureFlags/CellsInternal.hs @@ -17,7 +17,7 @@ module Test.FeatureFlags.CellsInternal where -import qualified API.GalleyInternal as Internal +import API.GalleyInternal qualified as Internal import SetupHelpers import Test.Cells (QueueConsumer (..), getMessage, watchCellsEvents) import Test.FeatureFlags.Util diff --git a/integration/test/Test/FeatureFlags/ChatBubbles.hs b/integration/test/Test/FeatureFlags/ChatBubbles.hs index bb573b4945..4271715152 100644 --- a/integration/test/Test/FeatureFlags/ChatBubbles.hs +++ b/integration/test/Test/FeatureFlags/ChatBubbles.hs @@ -17,7 +17,7 @@ module Test.FeatureFlags.ChatBubbles where -import qualified API.GalleyInternal as Internal +import API.GalleyInternal qualified as Internal import SetupHelpers import Test.FeatureFlags.Util import Testlib.Prelude diff --git a/integration/test/Test/FeatureFlags/ConferenceCalling.hs b/integration/test/Test/FeatureFlags/ConferenceCalling.hs index 7a652ccca1..e5db5759ef 100644 --- a/integration/test/Test/FeatureFlags/ConferenceCalling.hs +++ b/integration/test/Test/FeatureFlags/ConferenceCalling.hs @@ -17,7 +17,7 @@ module Test.FeatureFlags.ConferenceCalling where -import qualified Data.Aeson as A +import Data.Aeson qualified as A import Test.FeatureFlags.Util import Testlib.Prelude diff --git a/integration/test/Test/FeatureFlags/ConsumableNotifications.hs b/integration/test/Test/FeatureFlags/ConsumableNotifications.hs index 4411f9c891..7803b5b554 100644 --- a/integration/test/Test/FeatureFlags/ConsumableNotifications.hs +++ b/integration/test/Test/FeatureFlags/ConsumableNotifications.hs @@ -17,7 +17,7 @@ module Test.FeatureFlags.ConsumableNotifications where -import qualified API.GalleyInternal as Internal +import API.GalleyInternal qualified as Internal import SetupHelpers import Test.FeatureFlags.Util import Testlib.Prelude diff --git a/integration/test/Test/FeatureFlags/DomainRegistration.hs b/integration/test/Test/FeatureFlags/DomainRegistration.hs index 96d4d5d8ed..89b60774bc 100644 --- a/integration/test/Test/FeatureFlags/DomainRegistration.hs +++ b/integration/test/Test/FeatureFlags/DomainRegistration.hs @@ -17,7 +17,7 @@ module Test.FeatureFlags.DomainRegistration where -import qualified API.GalleyInternal as Internal +import API.GalleyInternal qualified as Internal import SetupHelpers import Test.FeatureFlags.Util import Testlib.Prelude diff --git a/integration/test/Test/FeatureFlags/EnforceFileDownloadLocation.hs b/integration/test/Test/FeatureFlags/EnforceFileDownloadLocation.hs index 06f51918e9..f90ca4777b 100644 --- a/integration/test/Test/FeatureFlags/EnforceFileDownloadLocation.hs +++ b/integration/test/Test/FeatureFlags/EnforceFileDownloadLocation.hs @@ -17,7 +17,7 @@ module Test.FeatureFlags.EnforceFileDownloadLocation where -import qualified API.GalleyInternal as Internal +import API.GalleyInternal qualified as Internal import SetupHelpers import Test.FeatureFlags.Util import Testlib.Prelude diff --git a/integration/test/Test/FeatureFlags/LegalHold.hs b/integration/test/Test/FeatureFlags/LegalHold.hs index 2d5e5d7da6..d33d18bf71 100644 --- a/integration/test/Test/FeatureFlags/LegalHold.hs +++ b/integration/test/Test/FeatureFlags/LegalHold.hs @@ -17,8 +17,8 @@ module Test.FeatureFlags.LegalHold where -import qualified API.Galley as Public -import qualified API.GalleyInternal as Internal +import API.Galley qualified as Public +import API.GalleyInternal qualified as Internal import Control.Monad.Codensity (Codensity (runCodensity)) import Control.Monad.Reader import SetupHelpers diff --git a/integration/test/Test/FeatureFlags/MlsE2EId.hs b/integration/test/Test/FeatureFlags/MlsE2EId.hs index 53fadba68f..86579a9c51 100644 --- a/integration/test/Test/FeatureFlags/MlsE2EId.hs +++ b/integration/test/Test/FeatureFlags/MlsE2EId.hs @@ -17,8 +17,8 @@ module Test.FeatureFlags.MlsE2EId where -import qualified API.Galley as Public -import qualified Data.Aeson as A +import API.Galley qualified as Public +import Data.Aeson qualified as A import SetupHelpers import Test.FeatureFlags.Util import Testlib.Prelude diff --git a/integration/test/Test/FeatureFlags/MlsMigration.hs b/integration/test/Test/FeatureFlags/MlsMigration.hs index fefd5b7006..f93a964179 100644 --- a/integration/test/Test/FeatureFlags/MlsMigration.hs +++ b/integration/test/Test/FeatureFlags/MlsMigration.hs @@ -17,9 +17,9 @@ module Test.FeatureFlags.MlsMigration where -import qualified API.Galley as Public -import qualified API.GalleyInternal as Internal -import qualified Data.Aeson as A +import API.Galley qualified as Public +import API.GalleyInternal qualified as Internal +import Data.Aeson qualified as A import SetupHelpers import Test.FeatureFlags.Util import Testlib.Prelude diff --git a/integration/test/Test/FeatureFlags/SSO.hs b/integration/test/Test/FeatureFlags/SSO.hs index dcffe60537..f1623a022d 100644 --- a/integration/test/Test/FeatureFlags/SSO.hs +++ b/integration/test/Test/FeatureFlags/SSO.hs @@ -17,8 +17,8 @@ module Test.FeatureFlags.SSO where -import qualified API.Galley as Public -import qualified API.GalleyInternal as Internal +import API.Galley qualified as Public +import API.GalleyInternal qualified as Internal import SetupHelpers import Test.FeatureFlags.Util import Testlib.Prelude diff --git a/integration/test/Test/FeatureFlags/SearchVisibilityAvailable.hs b/integration/test/Test/FeatureFlags/SearchVisibilityAvailable.hs index f5a547d606..f05dd7a9cd 100644 --- a/integration/test/Test/FeatureFlags/SearchVisibilityAvailable.hs +++ b/integration/test/Test/FeatureFlags/SearchVisibilityAvailable.hs @@ -17,8 +17,8 @@ module Test.FeatureFlags.SearchVisibilityAvailable where -import qualified API.Galley as Public -import qualified API.GalleyInternal as Internal +import API.Galley qualified as Public +import API.GalleyInternal qualified as Internal import SetupHelpers import Test.FeatureFlags.Util import Testlib.Prelude diff --git a/integration/test/Test/FeatureFlags/SearchVisibilityInbound.hs b/integration/test/Test/FeatureFlags/SearchVisibilityInbound.hs index 850655b64a..58e57849b4 100644 --- a/integration/test/Test/FeatureFlags/SearchVisibilityInbound.hs +++ b/integration/test/Test/FeatureFlags/SearchVisibilityInbound.hs @@ -17,7 +17,7 @@ module Test.FeatureFlags.SearchVisibilityInbound where -import qualified API.Galley as Public +import API.Galley qualified as Public import SetupHelpers import Test.FeatureFlags.Util import Testlib.Prelude diff --git a/integration/test/Test/FeatureFlags/SelfDeletingMessages.hs b/integration/test/Test/FeatureFlags/SelfDeletingMessages.hs index 050df931cf..9acd64f705 100644 --- a/integration/test/Test/FeatureFlags/SelfDeletingMessages.hs +++ b/integration/test/Test/FeatureFlags/SelfDeletingMessages.hs @@ -17,7 +17,7 @@ module Test.FeatureFlags.SelfDeletingMessages where -import qualified Data.Aeson.Types as A +import Data.Aeson.Types qualified as A import Test.FeatureFlags.Util import Testlib.Prelude diff --git a/integration/test/Test/FeatureFlags/SimplifiedUserConnectionRequestQRCode.hs b/integration/test/Test/FeatureFlags/SimplifiedUserConnectionRequestQRCode.hs index b9575c1d32..6f63c7cf48 100644 --- a/integration/test/Test/FeatureFlags/SimplifiedUserConnectionRequestQRCode.hs +++ b/integration/test/Test/FeatureFlags/SimplifiedUserConnectionRequestQRCode.hs @@ -17,7 +17,7 @@ module Test.FeatureFlags.SimplifiedUserConnectionRequestQRCode where -import qualified API.GalleyInternal as Internal +import API.GalleyInternal qualified as Internal import SetupHelpers import Test.FeatureFlags.Util import Testlib.Prelude diff --git a/integration/test/Test/FeatureFlags/StealthUsers.hs b/integration/test/Test/FeatureFlags/StealthUsers.hs index 1d95c0e8ac..e1642ed38d 100644 --- a/integration/test/Test/FeatureFlags/StealthUsers.hs +++ b/integration/test/Test/FeatureFlags/StealthUsers.hs @@ -17,7 +17,7 @@ module Test.FeatureFlags.StealthUsers where -import qualified API.GalleyInternal as Internal +import API.GalleyInternal qualified as Internal import SetupHelpers import Test.FeatureFlags.Util import Testlib.Prelude diff --git a/integration/test/Test/FeatureFlags/User.hs b/integration/test/Test/FeatureFlags/User.hs index 22cf65a515..44662c4577 100644 --- a/integration/test/Test/FeatureFlags/User.hs +++ b/integration/test/Test/FeatureFlags/User.hs @@ -17,9 +17,9 @@ module Test.FeatureFlags.User where -import qualified API.BrigInternal as I +import API.BrigInternal qualified as I import API.Galley -import qualified API.GalleyInternal as I +import API.GalleyInternal qualified as I import SetupHelpers import Testlib.Prelude diff --git a/integration/test/Test/FeatureFlags/Util.hs b/integration/test/Test/FeatureFlags/Util.hs index 7ab2eebc65..41863da6a2 100644 --- a/integration/test/Test/FeatureFlags/Util.hs +++ b/integration/test/Test/FeatureFlags/Util.hs @@ -17,11 +17,11 @@ module Test.FeatureFlags.Util where -import qualified API.Galley as Public -import qualified API.GalleyInternal as Internal -import qualified Data.Aeson as A -import qualified Data.Aeson.KeyMap as KM -import qualified Data.Text as Text +import API.Galley qualified as Public +import API.GalleyInternal qualified as Internal +import Data.Aeson qualified as A +import Data.Aeson.KeyMap qualified as KM +import Data.Text qualified as Text import Notifications import SetupHelpers import Testlib.Prelude diff --git a/integration/test/Test/Federation.hs b/integration/test/Test/Federation.hs index e06a084a4d..7474a3d606 100644 --- a/integration/test/Test/Federation.hs +++ b/integration/test/Test/Federation.hs @@ -19,17 +19,17 @@ module Test.Federation where -import qualified API.Brig as BrigP +import API.Brig qualified as BrigP import API.Galley import Control.Lens import Control.Monad.Codensity import Control.Monad.Reader -import qualified Data.ProtoLens as Proto +import Data.ProtoLens qualified as Proto import Data.ProtoLens.Labels () import Notifications import Numeric.Lens -import qualified Proto.Otr as Proto -import qualified Proto.Otr_Fields as Proto +import Proto.Otr qualified as Proto +import Proto.Otr_Fields qualified as Proto import SetupHelpers import Testlib.Prelude import Testlib.ResourcePool diff --git a/integration/test/Test/Federator.hs b/integration/test/Test/Federator.hs index 5fd237ca88..95a3a5e487 100644 --- a/integration/test/Test/Federator.hs +++ b/integration/test/Test/Federator.hs @@ -22,7 +22,7 @@ module Test.Federator where import API.Brig import API.Federator (getMetrics) import Data.Attoparsec.Text -import qualified Data.ByteString as BS +import Data.ByteString qualified as BS import Data.String.Conversions import Data.Text import SetupHelpers (randomUser) diff --git a/integration/test/Test/LegalHold.hs b/integration/test/Test/LegalHold.hs index 7da2c2dfa2..4bc884a25b 100644 --- a/integration/test/Test/LegalHold.hs +++ b/integration/test/Test/LegalHold.hs @@ -18,7 +18,7 @@ module Test.LegalHold where import API.Brig import API.BrigCommon as BrigC -import qualified API.BrigInternal as BrigI +import API.BrigInternal qualified as BrigI import API.Common import API.Galley import API.GalleyInternal hiding (getConversation) @@ -28,21 +28,21 @@ import Control.Monad.Extra (findM) import Control.Monad.Reader (asks, local) import Control.Monad.Trans.Class (lift) import Data.Aeson.Lens -import qualified Data.ByteString.Char8 as BS8 +import Data.ByteString.Char8 qualified as BS8 import Data.ByteString.Lazy (LazyByteString) import Data.List.Extra (trim) -import qualified Data.Map as Map -import qualified Data.ProtoLens as Proto +import Data.Map qualified as Map +import Data.ProtoLens qualified as Proto import Data.ProtoLens.Labels () -import qualified Data.Set as Set -import qualified Data.Text as T +import Data.Set qualified as Set +import Data.Text qualified as T import GHC.Stack import MLS.Util import Network.Wai (Request (pathInfo, requestMethod)) import Notifications import Numeric.Lens (hex) -import qualified Proto.Otr as Proto -import qualified Proto.Otr_Fields as Proto +import Proto.Otr qualified as Proto +import Proto.Otr_Fields qualified as Proto import SetupHelpers import Testlib.MockIntegrationService import Testlib.Prekeys diff --git a/integration/test/Test/Login.hs b/integration/test/Test/Login.hs index fad75b4f86..b71d852a8c 100644 --- a/integration/test/Test/Login.hs +++ b/integration/test/Test/Login.hs @@ -24,7 +24,7 @@ import API.Common (defPassword) import API.GalleyInternal import API.Nginz (login, loginWith2ndFactor) import Control.Concurrent (threadDelay) -import qualified Data.Aeson as Aeson +import Data.Aeson qualified as Aeson import SetupHelpers import Testlib.Prelude import Text.Printf (printf) diff --git a/integration/test/Test/MLS.hs b/integration/test/Test/MLS.hs index 3d76fd7ff3..131b35955d 100644 --- a/integration/test/Test/MLS.hs +++ b/integration/test/Test/MLS.hs @@ -21,16 +21,16 @@ module Test.MLS where import API.Brig (claimKeyPackages, deleteClient) import API.Galley -import qualified API.GalleyInternal as I +import API.GalleyInternal qualified as I import Data.Bits -import qualified Data.ByteString as B -import qualified Data.ByteString.Base64 as Base64 -import qualified Data.ByteString.Char8 as B8 -import qualified Data.Map as Map -import qualified Data.Set as Set -import qualified Data.Text as T -import qualified Data.Text.Encoding as T -import qualified Data.Text.Read as T +import Data.ByteString qualified as B +import Data.ByteString.Base64 qualified as Base64 +import Data.ByteString.Char8 qualified as B8 +import Data.Map qualified as Map +import Data.Set qualified as Set +import Data.Text qualified as T +import Data.Text.Encoding qualified as T +import Data.Text.Read qualified as T import MLS.Util import Notifications import SetupHelpers diff --git a/integration/test/Test/MLS/Clients.hs b/integration/test/Test/MLS/Clients.hs index 906ae91c37..fd757cc0d3 100644 --- a/integration/test/Test/MLS/Clients.hs +++ b/integration/test/Test/MLS/Clients.hs @@ -17,7 +17,7 @@ module Test.MLS.Clients where -import qualified API.BrigInternal as I +import API.BrigInternal qualified as I import MLS.Util import SetupHelpers import Testlib.Prelude diff --git a/integration/test/Test/MLS/Keys.hs b/integration/test/Test/MLS/Keys.hs index e1faaebea1..88c64a3728 100644 --- a/integration/test/Test/MLS/Keys.hs +++ b/integration/test/Test/MLS/Keys.hs @@ -18,9 +18,9 @@ module Test.MLS.Keys where import API.Galley -import qualified Data.ByteString.Base64 as B64 -import qualified Data.ByteString.Base64.URL as B64U -import qualified Data.ByteString.Char8 as B8 +import Data.ByteString.Base64 qualified as B64 +import Data.ByteString.Base64.URL qualified as B64U +import Data.ByteString.Char8 qualified as B8 import SetupHelpers import Testlib.Prelude diff --git a/integration/test/Test/MLS/One2One.hs b/integration/test/Test/MLS/One2One.hs index 07871cfd74..f994cf1cbb 100644 --- a/integration/test/Test/MLS/One2One.hs +++ b/integration/test/Test/MLS/One2One.hs @@ -21,12 +21,12 @@ import API.Brig import API.Galley import Control.Concurrent.Async import Control.Concurrent.MVar -import qualified Data.ByteString.Base64 as Base64 -import qualified Data.ByteString.Char8 as B8 -import qualified Data.Map as Map -import qualified Data.Set as Set -import qualified Data.Text as T -import qualified Data.Text.Read as T +import Data.ByteString.Base64 qualified as Base64 +import Data.ByteString.Char8 qualified as B8 +import Data.Map qualified as Map +import Data.Set qualified as Set +import Data.Text qualified as T +import Data.Text.Read qualified as T import MLS.Util import Notifications import SetupHelpers diff --git a/integration/test/Test/MLS/SubConversation.hs b/integration/test/Test/MLS/SubConversation.hs index 2067826828..0426291edc 100644 --- a/integration/test/Test/MLS/SubConversation.hs +++ b/integration/test/Test/MLS/SubConversation.hs @@ -20,8 +20,8 @@ module Test.MLS.SubConversation where import API.Galley import Control.Monad.Trans (lift) import Control.Monad.Trans.Maybe (MaybeT (runMaybeT)) -import qualified Data.Map as Map -import qualified Data.Set as Set +import Data.Map qualified as Map +import Data.Set qualified as Set import MLS.Util import Notifications import SetupHelpers diff --git a/integration/test/Test/NginxZAuthModule.hs b/integration/test/Test/NginxZAuthModule.hs index bfedc87ebc..9ebc643e8a 100644 --- a/integration/test/Test/NginxZAuthModule.hs +++ b/integration/test/Test/NginxZAuthModule.hs @@ -21,15 +21,15 @@ import API.Brig import API.Common import Control.Monad.Codensity import Control.Monad.Reader -import qualified Data.ByteString as BS +import Data.ByteString qualified as BS import Data.List.Extra import Data.Streaming.Network import Data.UnixTime -import qualified Network.HTTP.Client as HTTP +import Network.HTTP.Client qualified as HTTP import Network.HTTP.Types import Network.Socket (Socket) -import qualified Network.Socket as NS -import qualified Network.Socket.ByteString as NSB +import Network.Socket qualified as NS +import Network.Socket.ByteString qualified as NSB import SetupHelpers import System.FilePath (()) import System.IO (writeFile) @@ -40,7 +40,7 @@ import Testlib.Prelude import Text.RawString.QQ import UnliftIO (bracket) import UnliftIO.Async (async, waitBoth) -import qualified UnliftIO.Async as Async +import UnliftIO.Async qualified as Async import UnliftIO.Directory import UnliftIO.Process import UnliftIO.Timeout (timeout) diff --git a/integration/test/Test/Property.hs b/integration/test/Test/Property.hs index 984ec670d9..1f09c90914 100644 --- a/integration/test/Test/Property.hs +++ b/integration/test/Test/Property.hs @@ -19,7 +19,7 @@ module Test.Property where import API.Brig import API.Common -import qualified Data.Map as Map +import Data.Map qualified as Map import SetupHelpers import Testlib.Prelude diff --git a/integration/test/Test/Provider.hs b/integration/test/Test/Provider.hs index f244afb362..8f6c907b72 100644 --- a/integration/test/Test/Provider.hs +++ b/integration/test/Test/Provider.hs @@ -19,9 +19,9 @@ module Test.Provider where import API.Brig import API.BrigInternal -import qualified API.Cargohold as Cargohold +import API.Cargohold qualified as Cargohold import API.Common -import qualified API.Nginz as Nginz +import API.Nginz qualified as Nginz import Data.String.Conversions (cs) import SetupHelpers import Testlib.Prelude diff --git a/integration/test/Test/Proxy.hs b/integration/test/Test/Proxy.hs index 6dfb97827d..5ae324885d 100644 --- a/integration/test/Test/Proxy.hs +++ b/integration/test/Test/Proxy.hs @@ -22,11 +22,11 @@ module Test.Proxy where import API.Proxy import Control.Monad.Codensity import Control.Monad.Reader -import qualified Data.Aeson as A +import Data.Aeson qualified as A import Data.CaseInsensitive import Data.String.Conversions import Network.HTTP.Types (hLocation) -import qualified Network.Wai as Wai +import Network.Wai qualified as Wai import Servant import Testlib.Mock import Testlib.Prelude diff --git a/integration/test/Test/Search.hs b/integration/test/Test/Search.hs index 00fdc841c3..1a2798659b 100644 --- a/integration/test/Test/Search.hs +++ b/integration/test/Test/Search.hs @@ -19,14 +19,14 @@ module Test.Search where -import qualified API.Brig as BrigP -import qualified API.BrigInternal as BrigI +import API.Brig qualified as BrigP +import API.BrigInternal qualified as BrigI import API.Common (defPassword) -import qualified API.Common as API +import API.Common qualified as API import API.Galley -import qualified API.Galley as Galley -import qualified API.GalleyInternal as GalleyI -import qualified Data.Set as Set +import API.Galley qualified as Galley +import API.GalleyInternal qualified as GalleyI +import Data.Set qualified as Set import GHC.Stack import SetupHelpers import Testlib.Assertions diff --git a/integration/test/Test/Spar.hs b/integration/test/Test/Spar.hs index b6df2edae7..c305236ad8 100644 --- a/integration/test/Test/Spar.hs +++ b/integration/test/Test/Spar.hs @@ -27,16 +27,16 @@ import API.Spar import API.SparInternal import Control.Concurrent (threadDelay) import Control.Lens (to, (^.)) -import qualified Data.Aeson as A -import qualified Data.Aeson.KeyMap as KeyMap -import qualified Data.Aeson.Types as A -import qualified Data.CaseInsensitive as CI +import Data.Aeson qualified as A +import Data.Aeson.KeyMap qualified as KeyMap +import Data.Aeson.Types qualified as A +import Data.CaseInsensitive qualified as CI import Data.String.Conversions (cs) -import qualified Data.Text as ST -import qualified SAML2.WebSSO as SAML -import qualified SAML2.WebSSO.Test.MockResponse as SAML -import qualified SAML2.WebSSO.Test.Util as SAML -import qualified SAML2.WebSSO.XML as SAMLXML +import Data.Text qualified as ST +import SAML2.WebSSO qualified as SAML +import SAML2.WebSSO.Test.MockResponse qualified as SAML +import SAML2.WebSSO.Test.Util qualified as SAML +import SAML2.WebSSO.XML qualified as SAMLXML import SetupHelpers import Testlib.JSON import Testlib.PTest diff --git a/integration/test/Test/Spar/MultiIngressIdp.hs b/integration/test/Test/Spar/MultiIngressIdp.hs index 8294782cb4..76e0e02a71 100644 --- a/integration/test/Test/Spar/MultiIngressIdp.hs +++ b/integration/test/Test/Spar/MultiIngressIdp.hs @@ -3,8 +3,8 @@ module Test.Spar.MultiIngressIdp where import API.GalleyInternal import API.Spar import Control.Lens ((.~), (^.)) -import qualified SAML2.WebSSO.Test.Util as SAML -import qualified SAML2.WebSSO.Types as SAML +import SAML2.WebSSO.Test.Util qualified as SAML +import SAML2.WebSSO.Types qualified as SAML import SetupHelpers import Testlib.Prelude diff --git a/integration/test/Test/Spar/MultiIngressSSO.hs b/integration/test/Test/Spar/MultiIngressSSO.hs index 0f5829e666..a39838483c 100644 --- a/integration/test/Test/Spar/MultiIngressSSO.hs +++ b/integration/test/Test/Spar/MultiIngressSSO.hs @@ -24,16 +24,16 @@ import API.Spar import Control.Arrow ((>>>)) import Data.ByteString.Base64 import Data.String.Conversions (cs) -import qualified Data.Text as T -import qualified Data.UUID as UUID +import Data.Text qualified as T +import Data.UUID qualified as UUID import GHC.Stack -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML import SetupHelpers -import qualified Testlib.KleisliXML as KXML +import Testlib.KleisliXML qualified as KXML import Testlib.Prelude -import qualified Text.XML as XML -import qualified Text.XML.Cursor as XML -import qualified Text.XML.DSig as SAML +import Text.XML qualified as XML +import Text.XML.Cursor qualified as XML +import Text.XML.DSig qualified as SAML -- | Test multi-ingress SSO with an IdP that is not bound to a domain. -- diff --git a/integration/test/Test/Spar/STM.hs b/integration/test/Test/Spar/STM.hs index cbf8fb0c3a..791cd0e398 100644 --- a/integration/test/Test/Spar/STM.hs +++ b/integration/test/Test/Spar/STM.hs @@ -15,12 +15,12 @@ import API.GalleyInternal (setTeamFeatureStatus) import API.Nginz (login) import API.Spar import Control.Retry -import qualified Data.Map as Map -import qualified SAML2.WebSSO as SAML +import Data.Map qualified as Map +import SAML2.WebSSO qualified as SAML import SetupHelpers import Testlib.JSON import Testlib.Prelude -import qualified Text.XML.DSig as SAML +import Text.XML.DSig qualified as SAML -- | This is a bit silly, but it allows us to write more straight-forward code and still get -- better error messages than "something went wrong in your code, please try again". diff --git a/integration/test/Test/Swagger.hs b/integration/test/Test/Swagger.hs index 6b64f9bb92..7fdd4f9cfe 100644 --- a/integration/test/Test/Swagger.hs +++ b/integration/test/Test/Swagger.hs @@ -17,9 +17,9 @@ module Test.Swagger where -import qualified API.Brig as BrigP -import qualified Data.ByteString as B -import qualified Data.Set as Set +import API.Brig qualified as BrigP +import Data.ByteString qualified as B +import Data.Set qualified as Set import Data.String.Conversions import GHC.Stack import System.Exit diff --git a/integration/test/Test/TeamCollaborators.hs b/integration/test/Test/TeamCollaborators.hs index 2ce699cb9c..516809b915 100644 --- a/integration/test/Test/TeamCollaborators.hs +++ b/integration/test/Test/TeamCollaborators.hs @@ -19,7 +19,7 @@ module Test.TeamCollaborators where import API.Brig import API.Galley -import qualified API.GalleyInternal as Internal +import API.GalleyInternal qualified as Internal import Data.Tuple.Extra import Notifications (isConvLeaveNotif, isTeamCollaboratorAddedNotif, isTeamCollaboratorRemovedNotif, isTeamMemberLeaveNotif) import SetupHelpers diff --git a/integration/test/Test/Teams.hs b/integration/test/Test/Teams.hs index 0066ef7017..a1cd3c8373 100644 --- a/integration/test/Test/Teams.hs +++ b/integration/test/Test/Teams.hs @@ -19,19 +19,19 @@ module Test.Teams where import API.Brig -import qualified API.BrigInternal as I +import API.BrigInternal qualified as I import API.Common import API.Galley (deleteTeamMember, getTeam, getTeamMembers, getTeamMembersCsv, getTeamNotifications) import API.GalleyInternal (selectTeamMembers) -import qualified API.GalleyInternal as I +import API.GalleyInternal qualified as I import API.Gundeck -import qualified API.Nginz as Nginz +import API.Nginz qualified as Nginz import Control.Monad.Codensity (Codensity (runCodensity)) import Control.Monad.Extra (findM) import Control.Monad.Reader (asks) -import qualified Data.ByteString.Char8 as B8 -import qualified Data.Map as Map -import qualified Data.Set as Set +import Data.ByteString.Char8 qualified as B8 +import Data.Map qualified as Map +import Data.Set qualified as Set import Data.Time.Clock import Data.Time.Format import Notifications diff --git a/integration/test/Test/User.hs b/integration/test/Test/User.hs index 0c8ff60eba..689b454dd4 100644 --- a/integration/test/Test/User.hs +++ b/integration/test/Test/User.hs @@ -23,12 +23,12 @@ import API.Brig import API.BrigInternal as I import API.Common import API.GalleyInternal -import qualified API.Spar as Spar +import API.Spar qualified as Spar import Control.Monad.Codensity import Control.Monad.Reader -import qualified Data.Aeson as Aeson -import qualified Data.UUID as UUID -import qualified Data.UUID.V4 as UUID +import Data.Aeson qualified as Aeson +import Data.UUID qualified as UUID +import Data.UUID.V4 qualified as UUID import SetupHelpers import Testlib.Prelude import Testlib.ResourcePool diff --git a/integration/test/Test/Version.hs b/integration/test/Test/Version.hs index 12346b09b3..8ca21d9995 100644 --- a/integration/test/Test/Version.hs +++ b/integration/test/Test/Version.hs @@ -18,7 +18,7 @@ module Test.Version where import API.Brig -import qualified Data.Set as Set +import Data.Set qualified as Set import SetupHelpers import Testlib.Prelude diff --git a/integration/test/Testlib/App.hs b/integration/test/Testlib/App.hs index d44523fcc9..75f417aae1 100644 --- a/integration/test/Testlib/App.hs +++ b/integration/test/Testlib/App.hs @@ -20,13 +20,13 @@ module Testlib.App where import Control.Applicative ((<|>)) import Control.Monad.Reader import Control.Monad.Trans.Maybe (MaybeT (MaybeT), runMaybeT) -import qualified Control.Retry as Retry +import Control.Retry qualified as Retry import Data.Aeson hiding ((.=)) import Data.Bool (bool) import Data.IORef import Data.Maybe (isJust) -import qualified Data.Text as T -import qualified Data.Yaml as Yaml +import Data.Text qualified as T +import Data.Yaml qualified as Yaml import GHC.Exception import GHC.Generics (Generic) import GHC.Stack (HasCallStack, callStack) diff --git a/integration/test/Testlib/Assertions.hs b/integration/test/Testlib/Assertions.hs index 1f620927ca..828e374e71 100644 --- a/integration/test/Testlib/Assertions.hs +++ b/integration/test/Testlib/Assertions.hs @@ -22,33 +22,33 @@ module Testlib.Assertions where import Control.Applicative ((<|>)) import Control.Exception as E import Control.Lens ((^?)) -import qualified Control.Lens.Plated as LP +import Control.Lens.Plated qualified as LP import Control.Monad -import qualified Control.Monad.Catch as Catch +import Control.Monad.Catch qualified as Catch import Control.Monad.Reader import Control.Retry import Data.Aeson (Value) -import qualified Data.Aeson as Aeson -import qualified Data.Aeson.Diff as AD -import qualified Data.Aeson.Encode.Pretty as Aeson -import qualified Data.Aeson.KeyMap as Aeson +import Data.Aeson qualified as Aeson +import Data.Aeson.Diff qualified as AD +import Data.Aeson.Encode.Pretty qualified as Aeson +import Data.Aeson.KeyMap qualified as Aeson import Data.Aeson.Lens (_Array, _Object) import Data.ByteString (ByteString) -import qualified Data.ByteString.Base64 as B64 -import qualified Data.ByteString.Lazy as BS +import Data.ByteString.Base64 qualified as B64 +import Data.ByteString.Lazy qualified as BS import Data.Char import Data.Foldable import Data.Hex import Data.List -import qualified Data.Map as Map +import Data.Map qualified as Map import Data.Maybe (isJust, mapMaybe) -import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text -import qualified Data.Text.Encoding.Error as Text -import qualified Data.Text.Lazy as TL -import qualified Data.Text.Lazy.Encoding as TL +import Data.Text qualified as Text +import Data.Text.Encoding qualified as Text +import Data.Text.Encoding.Error qualified as Text +import Data.Text.Lazy qualified as TL +import Data.Text.Lazy.Encoding qualified as TL import GHC.Stack as Stack -import qualified Network.HTTP.Client as HTTP +import Network.HTTP.Client qualified as HTTP import System.FilePath import Testlib.JSON import Testlib.Printing diff --git a/integration/test/Testlib/Cannon.hs b/integration/test/Testlib/Cannon.hs index 45093c3e25..edd75cd172 100644 --- a/integration/test/Testlib/Cannon.hs +++ b/integration/test/Testlib/Cannon.hs @@ -46,10 +46,10 @@ import Control.Concurrent import Control.Concurrent.Async import Control.Concurrent.STM.TChan import Control.Exception (throwIO) -import qualified Control.Exception as E +import Control.Exception qualified as E import Control.Monad import Control.Monad.Catch hiding (bracket) -import qualified Control.Monad.Catch as Catch +import Control.Monad.Catch qualified as Catch import Control.Monad.IO.Class import Control.Monad.Reader (asks) import Control.Monad.STM @@ -63,9 +63,9 @@ import Data.Traversable import Data.Word import GHC.Records import GHC.Stack -import qualified Network.HTTP.Client as HTTP -import qualified Network.HTTP.Client as Http -import qualified Network.WebSockets as WS +import Network.HTTP.Client qualified as HTTP +import Network.HTTP.Client qualified as Http +import Network.WebSockets qualified as WS import System.Random (randomIO) import System.Timeout (timeout) import Testlib.App diff --git a/integration/test/Testlib/Certs.hs b/integration/test/Testlib/Certs.hs index 69d7b9c59b..6117b3b258 100644 --- a/integration/test/Testlib/Certs.hs +++ b/integration/test/Testlib/Certs.hs @@ -18,8 +18,8 @@ module Testlib.Certs where import Crypto.Hash.Algorithms (SHA256 (SHA256)) -import qualified Crypto.PubKey.RSA as RSA -import qualified Crypto.PubKey.RSA.PKCS15 as PKCS15 +import Crypto.PubKey.RSA qualified as RSA +import Crypto.PubKey.RSA.PKCS15 qualified as PKCS15 import Crypto.Store.PKCS8 (PrivateKeyFormat (PKCS8Format), keyToPEM) import Crypto.Store.X509 (pubKeyToPEM) import Data.ASN1.OID (OIDable (getObjectID)) diff --git a/integration/test/Testlib/Env.hs b/integration/test/Testlib/Env.hs index 67a90228ad..a4e996c59d 100644 --- a/integration/test/Testlib/Env.hs +++ b/integration/test/Testlib/Env.hs @@ -20,7 +20,7 @@ module Testlib.Env where import Control.Concurrent.MVar -import qualified Control.Exception as E +import Control.Exception qualified as E import Control.Monad.Codensity import Control.Monad.IO.Class import Control.Monad.Reader @@ -28,14 +28,14 @@ import Data.Foldable import Data.Function ((&)) import Data.Functor import Data.IORef -import qualified Data.Map as Map +import Data.Map qualified as Map import Data.Maybe (fromMaybe) import Data.Traversable (for) -import qualified Data.Yaml as Yaml -import qualified Database.CQL.IO as Cassandra +import Data.Yaml qualified as Yaml +import Database.CQL.IO qualified as Cassandra import GHC.Stack -import qualified Network.HTTP.Client as HTTP -import qualified OpenSSL.Session as OpenSSL +import Network.HTTP.Client qualified as HTTP +import OpenSSL.Session qualified as OpenSSL import System.Directory import System.Environment (lookupEnv) import System.Exit diff --git a/integration/test/Testlib/HTTP.hs b/integration/test/Testlib/HTTP.hs index ba48bb6709..0278196eb8 100644 --- a/integration/test/Testlib/HTTP.hs +++ b/integration/test/Testlib/HTTP.hs @@ -17,30 +17,30 @@ module Testlib.HTTP where -import qualified Control.Exception as E +import Control.Exception qualified as E import Control.Monad.Reader -import qualified Data.Aeson as Aeson -import qualified Data.Aeson.Types as Aeson +import Data.Aeson qualified as Aeson +import Data.Aeson.Types qualified as Aeson import Data.Bifunctor (Bifunctor (bimap)) import Data.ByteString (ByteString) -import qualified Data.ByteString.Char8 as C8 -import qualified Data.ByteString.Lazy as L -import qualified Data.CaseInsensitive as CI +import Data.ByteString.Char8 qualified as C8 +import Data.ByteString.Lazy qualified as L +import Data.CaseInsensitive qualified as CI import Data.Function import Data.List import Data.List.Split (splitOn) -import qualified Data.Map as Map +import Data.Map qualified as Map import Data.Maybe import Data.String import Data.String.Conversions (cs) -import qualified Data.Text as T -import qualified Data.Text.Encoding as T +import Data.Text qualified as T +import Data.Text.Encoding qualified as T import Data.Tuple.Extra import GHC.Generics import GHC.Stack -import qualified Network.HTTP.Client as HTTP +import Network.HTTP.Client qualified as HTTP import Network.HTTP.Types (hContentLength, hLocation) -import qualified Network.HTTP.Types as HTTP +import Network.HTTP.Types qualified as HTTP import Network.HTTP.Types.URI (parseQuery) import Network.URI (URI (..), URIAuth (..), parseURI) import Testlib.Assertions diff --git a/integration/test/Testlib/JSON.hs b/integration/test/Testlib/JSON.hs index d7688a7a0f..ef3142de6a 100644 --- a/integration/test/Testlib/JSON.hs +++ b/integration/test/Testlib/JSON.hs @@ -23,26 +23,26 @@ import Control.Monad.IO.Class import Control.Monad.Trans.Class import Control.Monad.Trans.Maybe import Data.Aeson hiding ((.=)) -import qualified Data.Aeson as Aeson -import qualified Data.Aeson.Encode.Pretty as Aeson -import qualified Data.Aeson.Key as KM -import qualified Data.Aeson.KeyMap as KM -import qualified Data.Aeson.Types as Aeson +import Data.Aeson qualified as Aeson +import Data.Aeson.Encode.Pretty qualified as Aeson +import Data.Aeson.Key qualified as KM +import Data.Aeson.KeyMap qualified as KM +import Data.Aeson.Types qualified as Aeson import Data.ByteString (ByteString) -import qualified Data.ByteString.Base64 as Base64 -import qualified Data.ByteString.Lazy.Char8 as LC8 +import Data.ByteString.Base64 qualified as Base64 +import Data.ByteString.Lazy.Char8 qualified as LC8 import Data.Foldable import Data.Function import Data.Functor import Data.List.Split (splitOn) import Data.Maybe (fromMaybe) -import qualified Data.Scientific as Sci -import qualified Data.Set as Set +import Data.Scientific qualified as Sci +import Data.Set qualified as Set import Data.String -import qualified Data.Text as T -import qualified Data.Text.Encoding as T +import Data.Text qualified as T +import Data.Text.Encoding qualified as T import Data.Vector ((!?)) -import qualified Data.Vector as V +import Data.Vector qualified as V import GHC.Stack import Testlib.Types import Prelude diff --git a/integration/test/Testlib/KleisliXML.hs b/integration/test/Testlib/KleisliXML.hs index d201f9471e..be903e0c54 100644 --- a/integration/test/Testlib/KleisliXML.hs +++ b/integration/test/Testlib/KleisliXML.hs @@ -2,11 +2,11 @@ -- structures. module Testlib.KleisliXML where -import qualified Data.Text as T -import qualified Data.Text.Lazy as LT +import Data.Text qualified as T +import Data.Text.Lazy qualified as LT import Testlib.Prelude -import qualified Text.XML as XML -import qualified Text.XML.Cursor as XML +import Text.XML qualified as XML +import Text.XML.Cursor qualified as XML findElement :: XML.Name -> XML.Cursor -> Maybe XML.Cursor findElement name = listToMaybe . (XML.$// XML.element name) diff --git a/integration/test/Testlib/Mock.hs b/integration/test/Testlib/Mock.hs index 463779f7be..59c69d3d5b 100644 --- a/integration/test/Testlib/Mock.hs +++ b/integration/test/Testlib/Mock.hs @@ -24,10 +24,10 @@ import Control.Exception import Control.Monad.Codensity import Control.Monad.Reader import Data.Streaming.Network -import qualified Network.Socket as Socket -import qualified Network.Wai as Wai -import qualified Network.Wai.Handler.Warp as Warp -import qualified Network.Wai.Handler.WarpTLS as Warp +import Network.Socket qualified as Socket +import Network.Wai qualified as Wai +import Network.Wai.Handler.Warp qualified as Warp +import Network.Wai.Handler.WarpTLS qualified as Warp import Testlib.Prelude codensityApp :: (Wai.Request -> Codensity IO Wai.Response) -> Wai.Application diff --git a/integration/test/Testlib/MockIntegrationService.hs b/integration/test/Testlib/MockIntegrationService.hs index 71dc2477cd..3e9b3cfb4c 100644 --- a/integration/test/Testlib/MockIntegrationService.hs +++ b/integration/test/Testlib/MockIntegrationService.hs @@ -34,16 +34,16 @@ where import Control.Monad.Catch import Control.Monad.Reader import qualified Data.Aeson -import qualified Data.ByteString.Lazy as LBS +import Data.ByteString.Lazy qualified as LBS import Data.Streaming.Network import Data.String.Conversions (cs) import Network.HTTP.Types import Network.Socket -import qualified Network.Socket as Socket +import Network.Socket qualified as Socket import Network.Wai as Wai -import qualified Network.Wai.Handler.Warp as Warp -import qualified Network.Wai.Handler.Warp.Internal as Warp -import qualified Network.Wai.Handler.WarpTLS as Warp +import Network.Wai.Handler.Warp qualified as Warp +import Network.Wai.Handler.Warp.Internal qualified as Warp +import Network.Wai.Handler.WarpTLS qualified as Warp import Testlib.Prelude hiding (IntegrationConfig (integrationTestHostName)) import UnliftIO (MonadUnliftIO (withRunInIO)) import UnliftIO.Async diff --git a/integration/test/Testlib/ModService.hs b/integration/test/Testlib/ModService.hs index e111bcb76b..0e9e5717e2 100644 --- a/integration/test/Testlib/ModService.hs +++ b/integration/test/Testlib/ModService.hs @@ -31,39 +31,39 @@ where import Control.Applicative import Control.Concurrent import Control.Concurrent.Async -import qualified Control.Exception as E +import Control.Exception qualified as E import Control.Monad.Catch (catch, throwM) import Control.Monad.Codensity import Control.Monad.Extra import Control.Monad.Reader import Control.Retry (fibonacciBackoff, limitRetriesByCumulativeDelay, retrying) import Data.Aeson hiding ((.=)) -import qualified Data.Attoparsec.Text as Parser -import qualified Data.Char as Char +import Data.Attoparsec.Text qualified as Parser +import Data.Char qualified as Char import Data.Default import Data.Foldable import Data.Function import Data.Functor import Data.IORef -import qualified Data.List as List +import Data.List qualified as List import Data.Maybe import Data.Monoid import Data.String import Data.String.Conversions (cs) import Data.String.Interpolate -import qualified Data.Text as Text -import qualified Data.Text.IO as Text +import Data.Text qualified as Text +import Data.Text.IO qualified as Text import Data.Traversable import Data.Word -import qualified Data.Yaml as Yaml +import Data.Yaml qualified as Yaml import GHC.Stack -import qualified Network.HTTP.Client as HTTP +import Network.HTTP.Client qualified as HTTP import System.Directory (copyFile, createDirectoryIfMissing, doesDirectoryExist, doesFileExist, listDirectory, removeDirectoryRecursive, removeFile) import System.Exit import System.FilePath import System.IO import System.IO.Temp (createTempDirectory, writeTempFile) -import qualified System.Linux.Proc as LinuxProc +import System.Linux.Proc qualified as LinuxProc import System.Posix (keyboardSignal, killProcess, signalProcess) import System.Posix.Types import System.Process diff --git a/integration/test/Testlib/One2One.hs b/integration/test/Testlib/One2One.hs index 41cacb4949..80bff42184 100644 --- a/integration/test/Testlib/One2One.hs +++ b/integration/test/Testlib/One2One.hs @@ -20,13 +20,13 @@ module Testlib.One2One (generateRemoteAndConvIdWithDomain) where import Control.Error (atMay) -import qualified Crypto.Hash as Crypto +import Crypto.Hash qualified as Crypto import Data.Bits import Data.ByteArray (convert) import Data.ByteString -import qualified Data.ByteString as B +import Data.ByteString qualified as B import Data.ByteString.Conversion -import qualified Data.ByteString.Lazy as L +import Data.ByteString.Lazy qualified as L import Data.UUID as UUID import SetupHelpers (randomUser) import Testlib.Prelude diff --git a/integration/test/Testlib/Prelude.hs b/integration/test/Testlib/Prelude.hs index 552bee3475..5ded08c0b3 100644 --- a/integration/test/Testlib/Prelude.hs +++ b/integration/test/Testlib/Prelude.hs @@ -177,7 +177,7 @@ import Prelude (^), (^^), ) -import qualified Prelude as P +import Prelude qualified as P ---------------------------------------------------------------------------- -- Lifted functions from Prelude diff --git a/integration/test/Testlib/ResourcePool.hs b/integration/test/Testlib/ResourcePool.hs index 236803a5e7..293220e91f 100644 --- a/integration/test/Testlib/ResourcePool.hs +++ b/integration/test/Testlib/ResourcePool.hs @@ -35,7 +35,7 @@ import Control.Monad.IO.Class import Data.Foldable (for_) import Data.Functor import Data.IORef -import qualified Data.Set as Set +import Data.Set qualified as Set import Data.String import Data.Tuple import Database.CQL.IO diff --git a/integration/test/Testlib/Run.hs b/integration/test/Testlib/Run.hs index 1ae1ddf06d..7ed2b9e8a0 100644 --- a/integration/test/Testlib/Run.hs +++ b/integration/test/Testlib/Run.hs @@ -32,9 +32,9 @@ import Data.Maybe (fromMaybe) import Data.String (IsString (fromString)) import Data.String.Conversions (cs) import Data.Text (Text) -import qualified Data.Text as T +import Data.Text qualified as T import Data.Time -import qualified Data.Yaml as Yaml +import Data.Yaml qualified as Yaml import Network.AMQP.Extended import Network.RabbitMqAdmin import RunAllTests diff --git a/integration/test/Testlib/Types.hs b/integration/test/Testlib/Types.hs index 29aa0b2b4b..348150454d 100644 --- a/integration/test/Testlib/Types.hs +++ b/integration/test/Testlib/Types.hs @@ -33,33 +33,33 @@ import Control.Monad.Reader import Control.Monad.Trans.Control import Crypto.Random (MonadRandom (..)) import Data.Aeson -import qualified Data.Aeson as Aeson +import Data.Aeson qualified as Aeson import Data.ByteString (ByteString) -import qualified Data.ByteString as BS -import qualified Data.ByteString.Char8 as C8 -import qualified Data.ByteString.Lazy as L -import qualified Data.CaseInsensitive as CI +import Data.ByteString qualified as BS +import Data.ByteString.Char8 qualified as C8 +import Data.ByteString.Lazy qualified as L +import Data.CaseInsensitive qualified as CI import Data.Char (toLower) import Data.Default import Data.Functor import Data.IORef import Data.List import Data.Map -import qualified Data.Map as Map +import Data.Map qualified as Map import Data.Set (Set) -import qualified Data.Set as Set +import Data.Set qualified as Set import Data.String -import qualified Data.Text as T -import qualified Data.Text.Encoding as T +import Data.Text qualified as T +import Data.Text.Encoding qualified as T import Data.Time import Data.Word import GHC.Generics (Generic) import GHC.Records import GHC.Stack -import qualified Network.AMQP as Q +import Network.AMQP qualified as Q import Network.AMQP.Extended -import qualified Network.HTTP.Client as HTTP -import qualified Network.HTTP.Types as HTTP +import Network.HTTP.Client qualified as HTTP +import Network.HTTP.Types qualified as HTTP import Network.URI import UnliftIO (MonadUnliftIO) import Prelude diff --git a/integration/test/Testlib/VersionedFed.hs b/integration/test/Testlib/VersionedFed.hs index 34787ffe0a..1dffabb7d3 100644 --- a/integration/test/Testlib/VersionedFed.hs +++ b/integration/test/Testlib/VersionedFed.hs @@ -19,7 +19,7 @@ module Testlib.VersionedFed where import Control.Monad.Reader import Data.Proxy -import qualified Data.Text as T +import Data.Text qualified as T import GHC.TypeLits import System.Environment import Testlib.PTest diff --git a/integration/test/Testlib/XML.hs b/integration/test/Testlib/XML.hs index ab6f25d382..a3ad2fa18a 100644 --- a/integration/test/Testlib/XML.hs +++ b/integration/test/Testlib/XML.hs @@ -17,12 +17,12 @@ module Testlib.XML where -import qualified Data.Array as Array +import Data.Array qualified as Array import Data.Fixed import Data.Time import Testlib.Types -import qualified Text.Regex.Base as Regex -import qualified Text.Regex.TDFA.String as Regex +import Text.Regex.Base qualified as Regex +import Text.Regex.TDFA.String qualified as Regex import Text.XML.Light import Prelude diff --git a/libs/hscim/hscim.cabal b/libs/hscim/hscim.cabal index e29f6db05f..d926450ddb 100644 --- a/libs/hscim/hscim.cabal +++ b/libs/hscim/hscim.cabal @@ -123,7 +123,7 @@ library , wai-extra , wai-utilities - default-language: Haskell2010 + default-language: GHC2021 executable hscim-server main-is: Main.hs @@ -161,7 +161,7 @@ executable hscim-server , time , warp - default-language: Haskell2010 + default-language: GHC2021 test-suite spec type: exitcode-stdio-1.0 @@ -230,4 +230,4 @@ test-suite spec , wai , wai-extra - default-language: Haskell2010 + default-language: GHC2021 diff --git a/libs/hscim/server/Main.hs b/libs/hscim/server/Main.hs index 3d21696c0e..6dabc8a070 100644 --- a/libs/hscim/server/Main.hs +++ b/libs/hscim/server/Main.hs @@ -23,7 +23,7 @@ import Control.Monad.STM (atomically) import Data.Time import Network.URI.Static import Network.Wai.Handler.Warp -import qualified StmContainers.Map as STMMap +import StmContainers.Map qualified as STMMap import Text.Email.Validate import Web.Scim.Capabilities.MetaSchema as MetaSchema import Web.Scim.Schema.Common as Common diff --git a/libs/hscim/src/Web/Scim/AttrName.hs b/libs/hscim/src/Web/Scim/AttrName.hs index c0bfdf9e13..dc1453afbe 100644 --- a/libs/hscim/src/Web/Scim/AttrName.hs +++ b/libs/hscim/src/Web/Scim/AttrName.hs @@ -22,7 +22,7 @@ module Web.Scim.AttrName where import Data.Aeson.Types (FromJSONKey, ToJSONKey) import Data.Attoparsec.ByteString.Char8 -import qualified Data.CaseInsensitive as CI +import Data.CaseInsensitive qualified as CI import Data.Hashable import Data.String (IsString, fromString) import Data.Text (Text, cons) diff --git a/libs/hscim/src/Web/Scim/Capabilities/MetaSchema.hs b/libs/hscim/src/Web/Scim/Capabilities/MetaSchema.hs index 4bdaf265af..c812042f95 100644 --- a/libs/hscim/src/Web/Scim/Capabilities/MetaSchema.hs +++ b/libs/hscim/src/Web/Scim/Capabilities/MetaSchema.hs @@ -27,7 +27,7 @@ module Web.Scim.Capabilities.MetaSchema where import Data.Aeson -import qualified Data.Aeson.KeyMap as KeyMap +import Data.Aeson.KeyMap qualified as KeyMap import Data.Text (Text) import Data.Typeable (Typeable, cast) import Servant hiding (URI) @@ -40,7 +40,7 @@ import Web.Scim.Capabilities.MetaSchema.Schema import Web.Scim.Capabilities.MetaSchema.User import Web.Scim.ContentType import Web.Scim.Handler -import qualified Web.Scim.Schema.AuthenticationScheme as AuthScheme +import Web.Scim.Schema.AuthenticationScheme qualified as AuthScheme import Web.Scim.Schema.Common import Web.Scim.Schema.Error hiding (schemas) import Web.Scim.Schema.ListResponse as ListResponse hiding (schemas) diff --git a/libs/hscim/src/Web/Scim/Class/Group.hs b/libs/hscim/src/Web/Scim/Class/Group.hs index 943484696a..7aa5b8b632 100644 --- a/libs/hscim/src/Web/Scim/Class/Group.hs +++ b/libs/hscim/src/Web/Scim/Class/Group.hs @@ -29,7 +29,7 @@ module Web.Scim.Class.Group where import Data.Aeson -import qualified Data.Aeson as Aeson +import Data.Aeson qualified as Aeson import Data.Text import Servant import Servant.API.Generic diff --git a/libs/hscim/src/Web/Scim/Client.hs b/libs/hscim/src/Web/Scim/Client.hs index c80070fb03..919758a1b5 100644 --- a/libs/hscim/src/Web/Scim/Client.hs +++ b/libs/hscim/src/Web/Scim/Client.hs @@ -51,14 +51,14 @@ import Data.Text import Servant.API import Servant.Client import Servant.Client.Generic -import qualified Web.Scim.Capabilities.MetaSchema as MetaSchema +import Web.Scim.Capabilities.MetaSchema qualified as MetaSchema import Web.Scim.Class.Auth import Web.Scim.Class.Group (Group, GroupId, StoredGroup) import Web.Scim.Class.User (StoredUser) import Web.Scim.Filter (Filter) import Web.Scim.Schema.ListResponse (ListResponse) import Web.Scim.Schema.PatchOp (PatchOp) -import qualified Web.Scim.Schema.ResourceType as ResourceType +import Web.Scim.Schema.ResourceType qualified as ResourceType import Web.Scim.Schema.User (User) import Web.Scim.Schema.UserTypes (UserExtra, UserId) import Web.Scim.Server diff --git a/libs/hscim/src/Web/Scim/Schema/Common.hs b/libs/hscim/src/Web/Scim/Schema/Common.hs index c0adb84c21..eee5404114 100644 --- a/libs/hscim/src/Web/Scim/Schema/Common.hs +++ b/libs/hscim/src/Web/Scim/Schema/Common.hs @@ -23,14 +23,14 @@ module Web.Scim.Schema.Common where import Data.Aeson -import qualified Data.Aeson.Key as Key -import qualified Data.Aeson.KeyMap as KeyMap -import qualified Data.CaseInsensitive as CI +import Data.Aeson.Key qualified as Key +import Data.Aeson.KeyMap qualified as KeyMap +import Data.CaseInsensitive qualified as CI import Data.List (nub, (\\)) import Data.String.Conversions (cs) import Data.Text (Text, pack, unpack) -import qualified Data.Text as Text -import qualified Network.URI as Network +import Data.Text qualified as Text +import Network.URI qualified as Network data WithId id a = WithId { id :: id, diff --git a/libs/hscim/src/Web/Scim/Schema/Error.hs b/libs/hscim/src/Web/Scim/Schema/Error.hs index cd441b13b2..a2766adad7 100644 --- a/libs/hscim/src/Web/Scim/Schema/Error.hs +++ b/libs/hscim/src/Web/Scim/Schema/Error.hs @@ -40,11 +40,11 @@ import Control.Exception import Data.Aeson hiding (Error) import Data.ByteString.UTF8 (fromString) import Data.Text (Text, pack) -import qualified Data.Text.Lazy.Encoding as LText +import Data.Text.Lazy.Encoding qualified as LText import GHC.Generics (Generic) -import qualified Network.HTTP.Types.Header as HTTP -import qualified Network.HTTP.Types.Status as HTTP -import qualified Network.Wai.Utilities.Error as Wai +import Network.HTTP.Types.Header qualified as HTTP +import Network.HTTP.Types.Status qualified as HTTP +import Network.Wai.Utilities.Error qualified as Wai import Servant (ServerError (..)) import Web.Scim.Schema.Common import Web.Scim.Schema.Schema diff --git a/libs/hscim/src/Web/Scim/Schema/Meta.hs b/libs/hscim/src/Web/Scim/Schema/Meta.hs index 11439c94c6..3c2dd28a9a 100644 --- a/libs/hscim/src/Web/Scim/Schema/Meta.hs +++ b/libs/hscim/src/Web/Scim/Schema/Meta.hs @@ -18,9 +18,9 @@ module Web.Scim.Schema.Meta where import Data.Aeson -import qualified Data.Aeson.KeyMap as KeyMap +import Data.Aeson.KeyMap qualified as KeyMap import Data.Text (Text, pack, unpack) -import qualified Data.Text as Text +import Data.Text qualified as Text import Data.Time.Clock import GHC.Generics (Generic) import Text.Read (readEither) diff --git a/libs/hscim/src/Web/Scim/Schema/PatchOp.hs b/libs/hscim/src/Web/Scim/Schema/PatchOp.hs index 1ac01c3b16..a437a39914 100644 --- a/libs/hscim/src/Web/Scim/Schema/PatchOp.hs +++ b/libs/hscim/src/Web/Scim/Schema/PatchOp.hs @@ -20,13 +20,13 @@ module Web.Scim.Schema.PatchOp where import Control.Applicative import Control.Monad (guard) import Control.Monad.Except -import qualified Data.Aeson.Key as Key -import qualified Data.Aeson.KeyMap as KeyMap +import Data.Aeson.Key qualified as Key +import Data.Aeson.KeyMap qualified as KeyMap import Data.Aeson.Types (FromJSON (parseJSON), ToJSON (toJSON), Value (String), object, withObject, withText, (.:), (.:?), (.=)) -import qualified Data.Aeson.Types as Aeson +import Data.Aeson.Types qualified as Aeson import Data.Attoparsec.ByteString (Parser, endOfInput, parseOnly) import Data.Bifunctor (first) -import qualified Data.CaseInsensitive as CI +import Data.CaseInsensitive qualified as CI import Data.Text (Text) import Data.Text.Encoding (encodeUtf8) import Web.Scim.AttrName (AttrName (..)) diff --git a/libs/hscim/src/Web/Scim/Schema/Schema.hs b/libs/hscim/src/Web/Scim/Schema/Schema.hs index d7ae67016c..01cf81d75d 100644 --- a/libs/hscim/src/Web/Scim/Schema/Schema.hs +++ b/libs/hscim/src/Web/Scim/Schema/Schema.hs @@ -19,7 +19,7 @@ module Web.Scim.Schema.Schema where import Data.Aeson (FromJSON, ToJSON, Value, parseJSON, toJSON, withText) import Data.Attoparsec.ByteString (Parser) -import qualified Data.Attoparsec.ByteString.Char8 as Parser +import Data.Attoparsec.ByteString.Char8 qualified as Parser import Data.Text (Text) import Data.Text.Encoding (decodeUtf8, encodeUtf8) import Web.Scim.Capabilities.MetaSchema.Group diff --git a/libs/hscim/src/Web/Scim/Schema/User.hs b/libs/hscim/src/Web/Scim/Schema/User.hs index 1a37f6dae6..48af70ff9d 100644 --- a/libs/hscim/src/Web/Scim/Schema/User.hs +++ b/libs/hscim/src/Web/Scim/Schema/User.hs @@ -74,11 +74,11 @@ where import Control.Monad import Control.Monad.Except import Data.Aeson -import qualified Data.Aeson.Key as Key -import qualified Data.Aeson.KeyMap as KeyMap +import Data.Aeson.Key qualified as Key +import Data.Aeson.KeyMap qualified as KeyMap import Data.List ((\\)) import Data.Text (Text, pack) -import qualified Data.Text as Text +import Data.Text qualified as Text import GHC.Generics (Generic) import Lens.Micro import Web.Scim.AttrName diff --git a/libs/hscim/src/Web/Scim/Schema/User/Email.hs b/libs/hscim/src/Web/Scim/Schema/User/Email.hs index cd52a80a7e..3a533b6776 100644 --- a/libs/hscim/src/Web/Scim/Schema/User/Email.hs +++ b/libs/hscim/src/Web/Scim/Schema/User/Email.hs @@ -22,7 +22,7 @@ import Data.Aeson import Data.Text hiding (dropWhile) import Data.Text.Encoding (decodeUtf8, encodeUtf8) import GHC.Generics (Generic) -import qualified Text.Email.Validate as Email +import Text.Email.Validate qualified as Email import Web.Scim.Schema.Common hiding (value) newtype EmailAddress = EmailAddress diff --git a/libs/hscim/src/Web/Scim/Server/Mock.hs b/libs/hscim/src/Web/Scim/Server/Mock.hs index eb2dc9ce5e..af6abd1236 100644 --- a/libs/hscim/src/Web/Scim/Server/Mock.hs +++ b/libs/hscim/src/Web/Scim/Server/Mock.hs @@ -28,16 +28,16 @@ import Control.Monad.Morph import Control.Monad.Reader import Control.Monad.STM (STM, atomically) import Data.Aeson -import qualified Data.CaseInsensitive as CI +import Data.CaseInsensitive qualified as CI import Data.Hashable import Data.Text (Text, pack) import Data.Time.Calendar import Data.Time.Clock import GHC.Exts (sortWith) import ListT -import qualified Network.URI as URI +import Network.URI qualified as URI import Servant -import qualified StmContainers.Map as STMMap +import StmContainers.Map qualified as STMMap import Text.Read (readMaybe) import Web.Scim.Class.Auth import Web.Scim.Class.Group hiding (value) @@ -45,7 +45,7 @@ import Web.Scim.Class.User import Web.Scim.Filter (AttrPath (..), CompValue (..), Filter (..), compareStr) import Web.Scim.Handler import Web.Scim.Schema.Common (WithId (WithId, value)) -import qualified Web.Scim.Schema.Common as Common +import Web.Scim.Schema.Common qualified as Common import Web.Scim.Schema.Error import Web.Scim.Schema.ListResponse import Web.Scim.Schema.Meta diff --git a/libs/hscim/src/Web/Scim/Test/Acceptance.hs b/libs/hscim/src/Web/Scim/Test/Acceptance.hs index e5bb3b995c..5788298f6e 100644 --- a/libs/hscim/src/Web/Scim/Test/Acceptance.hs +++ b/libs/hscim/src/Web/Scim/Test/Acceptance.hs @@ -28,9 +28,9 @@ module Web.Scim.Test.Acceptance where import Control.Monad.IO.Class (liftIO) -import qualified Data.Aeson as Aeson -import qualified Data.ByteString as BS -import qualified Data.ByteString.Lazy as L +import Data.Aeson qualified as Aeson +import Data.ByteString qualified as BS +import Data.ByteString.Lazy qualified as L import Data.String.Conversions (cs) import Data.Text (Text) import Network.HTTP.Types.Status @@ -41,7 +41,7 @@ import Test.Hspec.Wai (matchStatus) import Test.Hspec.Wai.Internal (runWaiSession) import Web.Scim.Class.User import Web.Scim.Schema.Common as Hscim -import qualified Web.Scim.Schema.ListResponse as ListResponse +import Web.Scim.Schema.ListResponse qualified as ListResponse import Web.Scim.Schema.Meta import Web.Scim.Schema.UserTypes import Web.Scim.Test.Util diff --git a/libs/hscim/src/Web/Scim/Test/Util.hs b/libs/hscim/src/Web/Scim/Test/Util.hs index da75b438a4..069541051b 100644 --- a/libs/hscim/src/Web/Scim/Test/Util.hs +++ b/libs/hscim/src/Web/Scim/Test/Util.hs @@ -51,16 +51,16 @@ module Web.Scim.Test.Util ) where -import qualified Control.Retry as Retry +import Control.Retry qualified as Retry import Data.Aeson -import qualified Data.Aeson.Key as Key -import qualified Data.Aeson.KeyMap as KeyMap +import Data.Aeson.Key qualified as Key +import Data.Aeson.KeyMap qualified as KeyMap import Data.Aeson.QQ import Data.Aeson.Types (JSONPathElement (Key)) import Data.ByteString (ByteString) -import qualified Data.ByteString as BS -import qualified Data.ByteString.Char8 as BS8 -import qualified Data.ByteString.Lazy as L +import Data.ByteString qualified as BS +import Data.ByteString.Char8 qualified as BS8 +import Data.ByteString.Lazy qualified as L import Data.Proxy import Data.Text import Data.UUID as UUID diff --git a/libs/hscim/test/Test/Capabilities/MetaSchemaSpec.hs b/libs/hscim/test/Test/Capabilities/MetaSchemaSpec.hs index ec456f4d8e..6b627b54df 100644 --- a/libs/hscim/test/Test/Capabilities/MetaSchemaSpec.hs +++ b/libs/hscim/test/Test/Capabilities/MetaSchemaSpec.hs @@ -24,12 +24,12 @@ where import Data.Aeson import Data.Coerce -import qualified Data.List as List +import Data.List qualified as List import Data.Text (Text) import Network.Wai.Test (SResponse (..)) import Servant import Test.Hspec hiding (shouldSatisfy) -import qualified Test.Hspec.Expectations as Expect +import Test.Hspec.Expectations qualified as Expect import Test.Hspec.Wai hiding (patch, post, put, shouldRespondWith) import Web.Scim.Capabilities.MetaSchema import Web.Scim.Server (ConfigAPI, mkapp) diff --git a/libs/hscim/test/Test/Class/AuthSpec.hs b/libs/hscim/test/Test/Class/AuthSpec.hs index 9f5b063271..1604cbf2e0 100644 --- a/libs/hscim/test/Test/Class/AuthSpec.hs +++ b/libs/hscim/test/Test/Class/AuthSpec.hs @@ -24,7 +24,7 @@ import Data.Text (Text) import Data.Text.Encoding import Network.HTTP.Types.Header import Network.HTTP.Types.Method (methodGet) -import qualified StmContainers.Map as STMMap +import StmContainers.Map qualified as STMMap import Test.Hspec import Test.Hspec.Wai hiding (patch, post, put) import Web.Scim.Capabilities.MetaSchema (empty) diff --git a/libs/hscim/test/Test/FilterSpec.hs b/libs/hscim/test/Test/FilterSpec.hs index 9fc6588e7f..426c5f15a3 100644 --- a/libs/hscim/test/Test/FilterSpec.hs +++ b/libs/hscim/test/Test/FilterSpec.hs @@ -22,8 +22,8 @@ module Test.FilterSpec where import Data.Text (Text, cons) import HaskellWorks.Hspec.Hedgehog import Hedgehog -import qualified Hedgehog.Gen as Gen -import qualified Hedgehog.Range as Range +import Hedgehog.Gen qualified as Gen +import Hedgehog.Range qualified as Range import Test.Hspec import Web.Scim.AttrName import Web.Scim.Filter diff --git a/libs/hscim/test/Test/Schema/AuthenticationSchemeSpec.hs b/libs/hscim/test/Test/Schema/AuthenticationSchemeSpec.hs index cdd465c193..5a5d6fa33b 100644 --- a/libs/hscim/test/Test/Schema/AuthenticationSchemeSpec.hs +++ b/libs/hscim/test/Test/Schema/AuthenticationSchemeSpec.hs @@ -23,10 +23,10 @@ where import Data.Aeson import HaskellWorks.Hspec.Hedgehog (require) import Hedgehog -import qualified Hedgehog.Gen as Gen +import Hedgehog.Gen qualified as Gen import Test.Hspec import Test.Schema.Util (genUri, mk_prop_caseInsensitive) -import qualified Web.Scim.Schema.AuthenticationScheme as AS +import Web.Scim.Schema.AuthenticationScheme qualified as AS prop_roundtrip :: Property prop_roundtrip = property $ do diff --git a/libs/hscim/test/Test/Schema/GroupSpec.hs b/libs/hscim/test/Test/Schema/GroupSpec.hs index 861945a969..1464ae591b 100644 --- a/libs/hscim/test/Test/Schema/GroupSpec.hs +++ b/libs/hscim/test/Test/Schema/GroupSpec.hs @@ -24,11 +24,11 @@ import Data.Aeson import Data.Text (Text) import HaskellWorks.Hspec.Hedgehog (require) import Hedgehog -import qualified Hedgehog.Gen as Gen -import qualified Hedgehog.Range as Range +import Hedgehog.Gen qualified as Gen +import Hedgehog.Range qualified as Range import Test.Hspec import Test.Schema.Util (mk_prop_caseInsensitive) -import qualified Web.Scim.Class.Group as GroupClass +import Web.Scim.Class.Group qualified as GroupClass prop_roundtrip :: Property prop_roundtrip = property $ do diff --git a/libs/hscim/test/Test/Schema/MetaSchemaSpec.hs b/libs/hscim/test/Test/Schema/MetaSchemaSpec.hs index 70c5fd314c..c18bab73f2 100644 --- a/libs/hscim/test/Test/Schema/MetaSchemaSpec.hs +++ b/libs/hscim/test/Test/Schema/MetaSchemaSpec.hs @@ -25,8 +25,8 @@ where import Data.Aeson import HaskellWorks.Hspec.Hedgehog (require) import Hedgehog -import qualified Hedgehog.Gen as Gen -import qualified Hedgehog.Range as Range +import Hedgehog.Gen qualified as Gen +import Hedgehog.Range qualified as Range import Test.Hspec import Test.Schema.Util (genSimpleText, genUri, mk_prop_caseInsensitive) import Web.Scim.Capabilities.MetaSchema diff --git a/libs/hscim/test/Test/Schema/PatchOpSpec.hs b/libs/hscim/test/Test/Schema/PatchOpSpec.hs index 2e9a041531..60372ce161 100644 --- a/libs/hscim/test/Test/Schema/PatchOpSpec.hs +++ b/libs/hscim/test/Test/Schema/PatchOpSpec.hs @@ -20,10 +20,10 @@ module Test.Schema.PatchOpSpec where -import qualified Data.Aeson as Aeson -import qualified Data.Aeson.KeyMap as KeyMap +import Data.Aeson qualified as Aeson +import Data.Aeson.KeyMap qualified as KeyMap import Data.Aeson.Types (Result (Error, Success), Value (String), fromJSON, toJSON) -import qualified Data.Aeson.Types as Aeson +import Data.Aeson.Types qualified as Aeson import Data.Attoparsec.ByteString (parseOnly) import Data.Either (isLeft) import Data.Foldable (for_) @@ -31,8 +31,8 @@ import Data.Text (Text) import Data.Text.Encoding (decodeUtf8, encodeUtf8) import HaskellWorks.Hspec.Hedgehog (require) import Hedgehog (Gen, Property, forAll, property, tripping) -import qualified Hedgehog.Gen as Gen -import qualified Hedgehog.Range as Range +import Hedgehog.Gen qualified as Gen +import Hedgehog.Range qualified as Range import Test.FilterSpec (genAttrPath, genSubAttr, genValuePath) import Test.Hspec (Spec, describe, it, shouldBe, shouldSatisfy, xit) import Test.Schema.Util (mk_prop_caseInsensitive) diff --git a/libs/hscim/test/Test/Schema/ResourceSpec.hs b/libs/hscim/test/Test/Schema/ResourceSpec.hs index d699201ff9..88f6390efa 100644 --- a/libs/hscim/test/Test/Schema/ResourceSpec.hs +++ b/libs/hscim/test/Test/Schema/ResourceSpec.hs @@ -23,11 +23,11 @@ where import Data.Aeson import HaskellWorks.Hspec.Hedgehog (require) import Hedgehog -import qualified Hedgehog.Gen as Gen +import Hedgehog.Gen qualified as Gen import Test.Hspec import Test.Schema.Util (genUri, mk_prop_caseInsensitive) import Web.Scim.Schema.ResourceType -import qualified Web.Scim.Schema.Schema as Schema +import Web.Scim.Schema.Schema qualified as Schema prop_roundtrip :: Property prop_roundtrip = property $ do diff --git a/libs/hscim/test/Test/Schema/UserSpec.hs b/libs/hscim/test/Test/Schema/UserSpec.hs index 1885060fac..69a9bbdd34 100644 --- a/libs/hscim/test/Test/Schema/UserSpec.hs +++ b/libs/hscim/test/Test/Schema/UserSpec.hs @@ -26,29 +26,29 @@ module Test.Schema.UserSpec where import Data.Aeson -import qualified Data.Aeson.KeyMap as KeyMap +import Data.Aeson.KeyMap qualified as KeyMap import Data.Either (isLeft, isRight) import Data.Foldable (for_) import Data.Text (Text) import HaskellWorks.Hspec.Hedgehog (require) import Hedgehog -import qualified Hedgehog.Gen as Gen -import qualified Hedgehog.Range as Range +import Hedgehog.Gen qualified as Gen +import Hedgehog.Range qualified as Range import Lens.Micro import Network.URI.Static (uri) import Test.Hspec import Test.Schema.Util (genUri, mk_prop_caseInsensitive) import Text.Email.Validate (emailAddress, validate) -import qualified Web.Scim.Class.User as UserClass +import Web.Scim.Class.User qualified as UserClass import Web.Scim.Filter (AttrPath (..)) import Web.Scim.Schema.Common (ScimBool (ScimBool), URI (..), WithId (..), lowerKey) -import qualified Web.Scim.Schema.ListResponse as ListResponse +import Web.Scim.Schema.ListResponse qualified as ListResponse import Web.Scim.Schema.Meta (ETag (Strong, Weak), Meta (..), WithMeta (..)) import Web.Scim.Schema.PatchOp (Op (..), Operation (..), PatchOp (..), Patchable (..), Path (..)) -import qualified Web.Scim.Schema.PatchOp as PatchOp +import Web.Scim.Schema.PatchOp qualified as PatchOp import Web.Scim.Schema.Schema (Schema (..)) import Web.Scim.Schema.User (NoUserExtra (..), User (..)) -import qualified Web.Scim.Schema.User as User +import Web.Scim.Schema.User qualified as User import Web.Scim.Schema.User.Address as Address import Web.Scim.Schema.User.Certificate as Certificate import Web.Scim.Schema.User.Email as Email diff --git a/libs/hscim/test/Test/Schema/Util.hs b/libs/hscim/test/Test/Schema/Util.hs index 83099d72b5..933364812d 100644 --- a/libs/hscim/test/Test/Schema/Util.hs +++ b/libs/hscim/test/Test/Schema/Util.hs @@ -28,7 +28,7 @@ module Test.Schema.Util where import Data.Aeson -import qualified Data.Aeson.Key as Key +import Data.Aeson.Key qualified as Key import Data.Aeson.KeyMap as KeyMap import Data.Foldable.WithIndex (ifoldl') import Data.Text (Text, toCaseFold, toLower, toUpper) diff --git a/libs/http2-manager/http2-manager.cabal b/libs/http2-manager/http2-manager.cabal index 3aed0c465b..9b9dbd0c33 100644 --- a/libs/http2-manager/http2-manager.cabal +++ b/libs/http2-manager/http2-manager.cabal @@ -46,7 +46,7 @@ library , text , time-manager - default-language: Haskell2010 + default-language: GHC2021 flag test-trailing-dot description: "Whether or not include the trailing dot test" diff --git a/libs/http2-manager/src/HTTP2/Client/Manager/Internal.hs b/libs/http2-manager/src/HTTP2/Client/Manager/Internal.hs index 1982979812..43200f6c29 100644 --- a/libs/http2-manager/src/HTTP2/Client/Manager/Internal.hs +++ b/libs/http2-manager/src/HTTP2/Client/Manager/Internal.hs @@ -31,21 +31,21 @@ import Control.Exception import Control.Monad import Control.Monad.IO.Class import Data.ByteString -import qualified Data.ByteString as BS -import qualified Data.ByteString.Char8 as C8 +import Data.ByteString qualified as BS +import Data.ByteString.Char8 qualified as C8 import Data.IORef import Data.Map -import qualified Data.Map as Map +import Data.Map qualified as Map import Data.Maybe (fromMaybe) import Data.Streaming.Network -import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text +import Data.Text qualified as Text +import Data.Text.Encoding qualified as Text import Data.Unique import Foreign.Marshal.Alloc (mallocBytes) import GHC.IO.Exception -import qualified Network.HTTP2.Client as HTTP2 -import qualified Network.Socket as NS -import qualified OpenSSL.Session as SSL +import Network.HTTP2.Client qualified as HTTP2 +import Network.Socket qualified as NS +import OpenSSL.Session qualified as SSL import System.IO.Error import qualified System.TimeManager import System.Timeout diff --git a/libs/http2-manager/test/Test/HTTP2/Client/ManagerSpec.hs b/libs/http2-manager/test/Test/HTTP2/Client/ManagerSpec.hs index 352f1c68fb..93c5a06a8c 100644 --- a/libs/http2-manager/test/Test/HTTP2/Client/ManagerSpec.hs +++ b/libs/http2-manager/test/Test/HTTP2/Client/ManagerSpec.hs @@ -33,13 +33,13 @@ import Control.Concurrent.STM import Control.Exception import Control.Monad import Data.ByteString (ByteString) -import qualified Data.ByteString as BS -import qualified Data.ByteString.Builder as Builder -import qualified Data.ByteString.Lazy as LBS -import qualified Data.ByteString.Lazy.Char8 as LBS +import Data.ByteString qualified as BS +import Data.ByteString.Builder qualified as Builder +import Data.ByteString.Lazy qualified as LBS +import Data.ByteString.Lazy.Char8 qualified as LBS import Data.IORef import Data.Map (Map) -import qualified Data.Map as Map +import Data.Map qualified as Map import Data.Maybe (fromMaybe, isJust) import Data.Streaming.Network (bindPortTCP, bindRandomPortTCP) import Data.Unique @@ -48,13 +48,13 @@ import GHC.IO.Exception import HTTP2.Client.Manager import HTTP2.Client.Manager.Internal import Network.HTTP.Types -import qualified Network.HTTP2.Client as Client -import qualified Network.HTTP2.Client as HTTP2 +import Network.HTTP2.Client qualified as Client +import Network.HTTP2.Client qualified as HTTP2 import Network.HTTP2.Server (defaultServerConfig) -import qualified Network.HTTP2.Server as Server +import Network.HTTP2.Server qualified as Server import Network.Socket -import qualified Network.Socket as NS -import qualified OpenSSL.Session as SSL +import Network.Socket qualified as NS +import OpenSSL.Session qualified as SSL import System.Random (randomRIO) import qualified System.TimeManager import Test.Hspec diff --git a/libs/polysemy-wire-zoo/polysemy-wire-zoo.cabal b/libs/polysemy-wire-zoo/polysemy-wire-zoo.cabal index 87dc102d65..8425ba3661 100644 --- a/libs/polysemy-wire-zoo/polysemy-wire-zoo.cabal +++ b/libs/polysemy-wire-zoo/polysemy-wire-zoo.cabal @@ -106,7 +106,7 @@ library , unliftio , uuid - default-language: Haskell2010 + default-language: GHC2021 test-suite spec type: exitcode-stdio-1.0 @@ -175,4 +175,4 @@ test-suite spec , polysemy-wire-zoo , unliftio - default-language: Haskell2010 + default-language: GHC2021 diff --git a/libs/polysemy-wire-zoo/src/Polysemy/TinyLog.hs b/libs/polysemy-wire-zoo/src/Polysemy/TinyLog.hs index 4a72cb8f8c..0bdeb41e71 100644 --- a/libs/polysemy-wire-zoo/src/Polysemy/TinyLog.hs +++ b/libs/polysemy-wire-zoo/src/Polysemy/TinyLog.hs @@ -33,9 +33,9 @@ import Imports import Polysemy import Polysemy.Error (Error) import qualified Polysemy.Error -import qualified System.Logger as Log +import System.Logger qualified as Log import Wire.Sem.Logger -import qualified Wire.Sem.Logger as Logger +import Wire.Sem.Logger qualified as Logger type TinyLog = Logger (Log.Msg -> Log.Msg) diff --git a/libs/polysemy-wire-zoo/src/Wire/Sem/FromUTC.hs b/libs/polysemy-wire-zoo/src/Wire/Sem/FromUTC.hs index e560259eea..59d250286b 100644 --- a/libs/polysemy-wire-zoo/src/Wire/Sem/FromUTC.hs +++ b/libs/polysemy-wire-zoo/src/Wire/Sem/FromUTC.hs @@ -21,7 +21,7 @@ module Wire.Sem.FromUTC where import Data.Time (UTCTime) import Data.Time.Clock.POSIX (POSIXTime, utcTimeToPOSIXSeconds) import Imports -import qualified SAML2.WebSSO.Types as SAML +import SAML2.WebSSO.Types qualified as SAML -- | The class is helpful in interpreters for the 'Now' effect. It makes it -- possible to use the interpreters for any time type so long as it implements diff --git a/libs/polysemy-wire-zoo/src/Wire/Sem/Jwk.hs b/libs/polysemy-wire-zoo/src/Wire/Sem/Jwk.hs index 7f21d7d46a..39ae179de1 100644 --- a/libs/polysemy-wire-zoo/src/Wire/Sem/Jwk.hs +++ b/libs/polysemy-wire-zoo/src/Wire/Sem/Jwk.hs @@ -23,7 +23,7 @@ import Control.Exception import Crypto.JOSE.JWK import Data.Aeson import Data.ByteString (fromStrict) -import qualified Data.ByteString as BS +import Data.ByteString qualified as BS import Imports import Polysemy diff --git a/libs/polysemy-wire-zoo/src/Wire/Sem/Logger/TinyLog.hs b/libs/polysemy-wire-zoo/src/Wire/Sem/Logger/TinyLog.hs index 17e42dd0be..b71bd001a1 100644 --- a/libs/polysemy-wire-zoo/src/Wire/Sem/Logger/TinyLog.hs +++ b/libs/polysemy-wire-zoo/src/Wire/Sem/Logger/TinyLog.hs @@ -34,7 +34,7 @@ import Imports import Polysemy import Polysemy.TinyLog (TinyLog) import System.Logger (Level (..)) -import qualified System.Logger as Log +import System.Logger qualified as Log import Wire.Sem.Logger loggerToTinyLog :: diff --git a/libs/polysemy-wire-zoo/src/Wire/Sem/Metrics/IO.hs b/libs/polysemy-wire-zoo/src/Wire/Sem/Metrics/IO.hs index 7e64c546f3..65c27f4a08 100644 --- a/libs/polysemy-wire-zoo/src/Wire/Sem/Metrics/IO.hs +++ b/libs/polysemy-wire-zoo/src/Wire/Sem/Metrics/IO.hs @@ -19,7 +19,7 @@ module Wire.Sem.Metrics.IO where import Imports import Polysemy -import qualified Prometheus as Prom +import Prometheus qualified as Prom import Wire.Sem.Metrics runMetricsToIO :: (Member (Embed IO) r) => InterpreterFor Metrics r diff --git a/libs/polysemy-wire-zoo/src/Wire/Sem/Now/Spec.hs b/libs/polysemy-wire-zoo/src/Wire/Sem/Now/Spec.hs index 84b789646b..7da35005c9 100644 --- a/libs/polysemy-wire-zoo/src/Wire/Sem/Now/Spec.hs +++ b/libs/polysemy-wire-zoo/src/Wire/Sem/Now/Spec.hs @@ -27,7 +27,7 @@ import Polysemy.Input import Test.Hspec import Test.Hspec.QuickCheck import Test.QuickCheck -import qualified Wire.Sem.Now as E +import Wire.Sem.Now qualified as E propsForInterpreter :: (PropConstraints r f) => diff --git a/libs/polysemy-wire-zoo/src/Wire/Sem/Paging/Cassandra.hs b/libs/polysemy-wire-zoo/src/Wire/Sem/Paging/Cassandra.hs index 12210c3c8a..81992e035c 100644 --- a/libs/polysemy-wire-zoo/src/Wire/Sem/Paging/Cassandra.hs +++ b/libs/polysemy-wire-zoo/src/Wire/Sem/Paging/Cassandra.hs @@ -34,7 +34,7 @@ import Cassandra import Data.Id import Data.Range import Imports -import qualified Wire.Sem.Paging as E +import Wire.Sem.Paging qualified as E -- | This paging system uses Cassandra's 'PagingState' to keep track of state, -- and does not rely on ordering. This is the preferred way of paging across diff --git a/libs/polysemy-wire-zoo/src/Wire/Sem/Random/IO.hs b/libs/polysemy-wire-zoo/src/Wire/Sem/Random/IO.hs index 53d75a904e..0f9ec3f401 100644 --- a/libs/polysemy-wire-zoo/src/Wire/Sem/Random/IO.hs +++ b/libs/polysemy-wire-zoo/src/Wire/Sem/Random/IO.hs @@ -21,7 +21,7 @@ module Wire.Sem.Random.IO where import Data.Id (randomId) -import qualified Data.UUID.V4 as UUID +import Data.UUID.V4 qualified as UUID import Imports import OpenSSL.BN import OpenSSL.Random (randBytes) diff --git a/libs/polysemy-wire-zoo/src/Wire/Sem/Random/Null.hs b/libs/polysemy-wire-zoo/src/Wire/Sem/Random/Null.hs index 7d19eff66c..e9574c32d0 100644 --- a/libs/polysemy-wire-zoo/src/Wire/Sem/Random/Null.hs +++ b/libs/polysemy-wire-zoo/src/Wire/Sem/Random/Null.hs @@ -22,7 +22,7 @@ where import Crypto.Random import Data.Id (Id (..)) -import qualified Data.UUID as UUID +import Data.UUID qualified as UUID import Imports import Polysemy import Wire.Sem.Random (Random (..)) diff --git a/libs/polysemy-wire-zoo/test/Test/IntersperseSpec.hs b/libs/polysemy-wire-zoo/test/Test/IntersperseSpec.hs index 19f786137d..d2065403fb 100644 --- a/libs/polysemy-wire-zoo/test/Test/IntersperseSpec.hs +++ b/libs/polysemy-wire-zoo/test/Test/IntersperseSpec.hs @@ -20,7 +20,7 @@ module Test.IntersperseSpec where -import qualified Data.Set as S +import Data.Set qualified as S import Imports hiding (intersperse) import Polysemy import Polysemy.Output (output) diff --git a/libs/wire-api/test/golden.hs b/libs/wire-api/test/golden.hs index 1da1c8fc88..122f21dd88 100644 --- a/libs/wire-api/test/golden.hs +++ b/libs/wire-api/test/golden.hs @@ -16,7 +16,7 @@ -- with this program. If not, see . import Imports -import qualified Test.Wire.API.Golden.Run as Run +import Test.Wire.API.Golden.Run qualified as Run main :: IO () main = Run.main diff --git a/libs/wire-api/test/unit.hs b/libs/wire-api/test/unit.hs index 8c3b00333d..d60cbc2d2c 100644 --- a/libs/wire-api/test/unit.hs +++ b/libs/wire-api/test/unit.hs @@ -16,7 +16,7 @@ -- with this program. If not, see . import Imports -import qualified Test.Wire.API.Run as Run +import Test.Wire.API.Run qualified as Run main :: IO () main = Run.main diff --git a/libs/wire-api/wire-api.cabal b/libs/wire-api/wire-api.cabal index 80c4e21136..d0132fa4d1 100644 --- a/libs/wire-api/wire-api.cabal +++ b/libs/wire-api/wire-api.cabal @@ -11,7 +11,7 @@ license-file: LICENSE build-type: Simple common common-all - default-language: Haskell2010 + default-language: GHC2021 ghc-options: -O2 -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -Wpartial-fields -fwarn-tabs -optP-Wno-nonportable-include-path diff --git a/libs/wire-subsystems/test/Main.hs b/libs/wire-subsystems/test/Main.hs index fb63bf5df4..78f4779400 100644 --- a/libs/wire-subsystems/test/Main.hs +++ b/libs/wire-subsystems/test/Main.hs @@ -19,7 +19,7 @@ module Main where import Imports import qualified Spec -import qualified Test.Hspec as H +import Test.Hspec qualified as H main :: IO () main = H.hspec Spec.spec diff --git a/services/cargohold/cargohold.cabal b/services/cargohold/cargohold.cabal index e84c9fad29..fee39d5535 100644 --- a/services/cargohold/cargohold.cabal +++ b/services/cargohold/cargohold.cabal @@ -141,7 +141,7 @@ library , wire-api-federation , yaml >=0.8 - default-language: Haskell2010 + default-language: GHC2021 executable cargohold main-is: exec/Main.hs @@ -204,7 +204,7 @@ executable cargohold if flag(static) ld-options: -static - default-language: Haskell2010 + default-language: GHC2021 executable cargohold-integration main-is: Main.hs @@ -298,7 +298,7 @@ executable cargohold-integration , wire-api-federation , yaml >=0.8 - default-language: Haskell2010 + default-language: GHC2021 test-suite cargohold-tests type: exitcode-stdio-1.0 @@ -374,4 +374,4 @@ test-suite cargohold-tests , uri-bytestring >=0.2 , wire-api - default-language: Haskell2010 + default-language: GHC2021 diff --git a/services/cargohold/src/CargoHold/API/AuditLog.hs b/services/cargohold/src/CargoHold/API/AuditLog.hs index df869c6b4c..11c959e68b 100644 --- a/services/cargohold/src/CargoHold/API/AuditLog.hs +++ b/services/cargohold/src/CargoHold/API/AuditLog.hs @@ -24,7 +24,7 @@ module CargoHold.API.AuditLog where import CargoHold.S3 (AssetAuditLogMetadata (..), S3AssetMeta (..)) -import qualified CargoHold.Types.V3 as V3 +import CargoHold.Types.V3 qualified as V3 import Codec.MIME.Type (showType) import Data.ByteString.Conversion.To (toByteString) import Data.Id (UserId, botUserId) @@ -32,7 +32,7 @@ import Data.Misc (IpAddr) import Data.Qualified (Local, Qualified, Remote, qDomain, qUnqualified, tDomain, tUnqualified) import Data.Text.Encoding (decodeUtf8) import Imports -import qualified System.Logger.Class as Log +import System.Logger.Class qualified as Log import System.Logger.Message (msg, val, (.=), (~~)) import URI.ByteString import Wire.API.Asset (unAssetMIMEType) diff --git a/services/cargohold/src/CargoHold/API/Federation.hs b/services/cargohold/src/CargoHold/API/Federation.hs index 6f41992b18..6b96781d4b 100644 --- a/services/cargohold/src/CargoHold/API/Federation.hs +++ b/services/cargohold/src/CargoHold/API/Federation.hs @@ -27,7 +27,7 @@ import CargoHold.API.V3 import CargoHold.App import CargoHold.Options import CargoHold.S3 (S3AssetMeta) -import qualified CargoHold.S3 as S3 +import CargoHold.S3 qualified as S3 import CargoHold.Types.V3 (Principal (UserPrincipal)) import Control.Error import Data.ByteString.Conversion (toByteString') @@ -39,7 +39,7 @@ import Imports import Servant.API import Servant.Server hiding (Handler) import Wire.API.Federation.API -import qualified Wire.API.Federation.API.Cargohold as F +import Wire.API.Federation.API.Cargohold qualified as F import Wire.API.Routes.AssetBody import Wire.API.Routes.Named diff --git a/services/cargohold/src/CargoHold/API/Legacy.hs b/services/cargohold/src/CargoHold/API/Legacy.hs index 148b35d650..e9a0f49759 100644 --- a/services/cargohold/src/CargoHold/API/Legacy.hs +++ b/services/cargohold/src/CargoHold/API/Legacy.hs @@ -23,7 +23,7 @@ module CargoHold.API.Legacy where import CargoHold.App -import qualified CargoHold.S3 as S3 +import CargoHold.S3 qualified as S3 import CargoHold.Types.V3 (Principal (UserPrincipal)) import CargoHold.Util (genSignedURL) import Data.Id diff --git a/services/cargohold/src/CargoHold/API/Public.hs b/services/cargohold/src/CargoHold/API/Public.hs index 2185d8a24f..4e16b92d75 100644 --- a/services/cargohold/src/CargoHold/API/Public.hs +++ b/services/cargohold/src/CargoHold/API/Public.hs @@ -18,17 +18,17 @@ module CargoHold.API.Public (servantSitemap, internalSitemap) where import CargoHold.API.Error (unverifiedUser, userNotFound) -import qualified CargoHold.API.Legacy as LegacyAPI +import CargoHold.API.Legacy qualified as LegacyAPI import CargoHold.API.Util -import qualified CargoHold.API.V3 as V3 +import CargoHold.API.V3 qualified as V3 import CargoHold.App import CargoHold.Federation -import qualified CargoHold.Types.V3 as V3 +import CargoHold.Types.V3 qualified as V3 import Control.Lens import Control.Monad.Trans.Except (throwE) import Data.ByteString.Builder -import qualified Data.ByteString.Builder as Builder -import qualified Data.ByteString.Lazy as LBS +import Data.ByteString.Builder qualified as Builder +import Data.ByteString.Lazy qualified as LBS import Data.Domain import Data.Id import Data.Kind @@ -36,7 +36,7 @@ import Data.Qualified import Data.Text.Encoding import Data.Text.Encoding.Error import Imports hiding (head) -import qualified Network.HTTP.Types as HTTP +import Network.HTTP.Types qualified as HTTP import Servant.API import Servant.Server hiding (Handler) import URI.ByteString as URI diff --git a/services/cargohold/src/CargoHold/API/V3.hs b/services/cargohold/src/CargoHold/API/V3.hs index ffdd022fea..c419b6cde5 100644 --- a/services/cargohold/src/CargoHold/API/V3.hs +++ b/services/cargohold/src/CargoHold/API/V3.hs @@ -31,15 +31,15 @@ import CargoHold.API.AuditLog import CargoHold.API.Error import CargoHold.API.Util import CargoHold.App -import qualified CargoHold.Metrics as Metrics +import CargoHold.Metrics qualified as Metrics import CargoHold.Options import CargoHold.S3 (AssetAuditLogMetadata (AssetAuditLogMetadata)) -import qualified CargoHold.S3 as S3 +import CargoHold.S3 qualified as S3 import CargoHold.Types.V3 -import qualified CargoHold.Types.V3 as V3 +import CargoHold.Types.V3 qualified as V3 import CargoHold.Util -import qualified Codec.MIME.Parse as MIME -import qualified Codec.MIME.Type as MIME +import Codec.MIME.Parse qualified as MIME +import Codec.MIME.Type qualified as MIME import qualified Conduit import Control.Applicative (optional) import Control.Error @@ -49,15 +49,15 @@ import Crypto.Random (getRandomBytes) import Data.Aeson (eitherDecodeStrict') import Data.Attoparsec.ByteString.Char8 import Data.ByteString.Conversion (toByteString') -import qualified Data.CaseInsensitive as CI +import Data.CaseInsensitive qualified as CI import Data.Conduit -import qualified Data.Conduit.Attoparsec as Conduit +import Data.Conduit.Attoparsec qualified as Conduit import Data.Id -import qualified Data.List as List +import Data.List qualified as List import Data.Qualified -import qualified Data.Text.Ascii as Ascii +import Data.Text.Ascii qualified as Ascii import Data.Text.Encoding (decodeLatin1) -import qualified Data.Text.Lazy as LT +import Data.Text.Lazy qualified as LT import Data.Time.Clock import Data.UUID.V4 import Imports hiding (take) diff --git a/services/cargohold/src/CargoHold/AWS.hs b/services/cargohold/src/CargoHold/AWS.hs index 4984561ba4..fc06428ff2 100644 --- a/services/cargohold/src/CargoHold/AWS.hs +++ b/services/cargohold/src/CargoHold/AWS.hs @@ -35,8 +35,8 @@ module CargoHold.AWS where import Amazonka (AWSRequest, AWSResponse) -import qualified Amazonka as AWS -import qualified Amazonka.S3 as S3 +import Amazonka qualified as AWS +import Amazonka.S3 qualified as S3 import CargoHold.API.Error import CargoHold.CloudFront import CargoHold.Options hiding (cloudFront, s3Bucket) @@ -47,9 +47,9 @@ import Control.Retry import Data.ByteString.Builder (toLazyByteString) import Imports import Network.HTTP.Client (HttpException (..), HttpExceptionContent (..), Manager) -import qualified System.Logger as Logger +import System.Logger qualified as Logger import System.Logger.Class (Logger, MonadLogger (log), (~~)) -import qualified System.Logger.Class as Log +import System.Logger.Class qualified as Log import Util.Options (AWSEndpoint (..)) data Env = Env diff --git a/services/cargohold/src/CargoHold/App.hs b/services/cargohold/src/CargoHold/App.hs index ef292fdaef..67663a44d6 100644 --- a/services/cargohold/src/CargoHold/App.hs +++ b/services/cargohold/src/CargoHold/App.hs @@ -50,15 +50,15 @@ import Amazonka (S3AddressingStyle (S3AddressingStylePath)) import Bilge (Manager, MonadHttp, newManager, withResponse) import qualified Bilge import Bilge.RPC (HasRequestId (..)) -import qualified CargoHold.AWS as AWS +import CargoHold.AWS qualified as AWS import CargoHold.Options (AWSOpts, Opts, S3Compatibility (..), brig) -import qualified CargoHold.Options as Opt +import CargoHold.Options qualified as Opt import Control.Error (ExceptT, runExceptT) import Control.Exception (catch, throwIO) import Control.Lens (lensField, lensRules, makeLensesWith, non, (.~), (?~), (^.)) import Control.Monad.Catch (MonadCatch, MonadMask, MonadThrow) import Data.Id -import qualified Data.Map as Map +import Data.Map qualified as Map import Data.Qualified import HTTP2.Client.Manager (Http2Manager, http2ManagerWithSSLCtx) import Imports hiding (log) @@ -66,15 +66,15 @@ import Network.HTTP.Client (ManagerSettings (..), requestHeaders, responseTimeou import Network.HTTP.Client.OpenSSL import Network.Wai.Utilities (Error (..)) import OpenSSL.Session (SSLContext, SSLOption (..)) -import qualified OpenSSL.Session as SSL +import OpenSSL.Session qualified as SSL import Prometheus -import qualified Servant.Client as Servant +import Servant.Client qualified as Servant import System.Logger.Class hiding (settings) -import qualified System.Logger.Extended as Log +import System.Logger.Extended qualified as Log import Util.Options import Util.SuffixNamer import Wire.API.Routes.Internal.Brig (BrigInternalClient) -import qualified Wire.API.Routes.Internal.Brig as IBrig +import Wire.API.Routes.Internal.Brig qualified as IBrig ------------------------------------------------------------------------------- -- Environment diff --git a/services/cargohold/src/CargoHold/CloudFront.hs b/services/cargohold/src/CargoHold/CloudFront.hs index 0c8666c156..f9cbc6bc97 100644 --- a/services/cargohold/src/CargoHold/CloudFront.hs +++ b/services/cargohold/src/CargoHold/CloudFront.hs @@ -28,9 +28,9 @@ module CargoHold.CloudFront where import Control.AutoUpdate -import qualified Data.ByteString.Base64 as B64 +import Data.ByteString.Base64 qualified as B64 import Data.ByteString.Builder -import qualified Data.ByteString.Char8 as C8 +import Data.ByteString.Char8 qualified as C8 import Data.ByteString.Conversion import Data.ByteString.Lazy (toStrict) import Data.Text.Encoding (encodeUtf8) @@ -38,7 +38,7 @@ import Data.Time.Clock.POSIX import Data.Yaml (FromJSON) import Imports import OpenSSL.EVP.Digest (getDigestByName) -import qualified OpenSSL.EVP.Sign as SSL +import OpenSSL.EVP.Sign qualified as SSL import OpenSSL.PEM (PemPasswordSupply (PwNone), readPrivateKey) import URI.ByteString diff --git a/services/cargohold/src/CargoHold/Metrics.hs b/services/cargohold/src/CargoHold/Metrics.hs index 5d76beb2db..33d02a72c8 100644 --- a/services/cargohold/src/CargoHold/Metrics.hs +++ b/services/cargohold/src/CargoHold/Metrics.hs @@ -18,7 +18,7 @@ module CargoHold.Metrics where import Imports -import qualified Prometheus as Prom +import Prometheus qualified as Prom s3UploadOk :: (Prom.MonadMonitor m) => m () s3UploadOk = Prom.incCounter netS3UploadOk diff --git a/services/cargohold/src/CargoHold/Options.hs b/services/cargohold/src/CargoHold/Options.hs index d4225095c6..4f14bf9051 100644 --- a/services/cargohold/src/CargoHold/Options.hs +++ b/services/cargohold/src/CargoHold/Options.hs @@ -21,7 +21,7 @@ module CargoHold.Options where import Amazonka (S3AddressingStyle (..)) -import qualified CargoHold.CloudFront as CF +import CargoHold.CloudFront qualified as CF import Control.Lens hiding (Level) import Data.Aeson (FromJSON (..), withText) import Data.Aeson.TH diff --git a/services/cargohold/src/CargoHold/Run.hs b/services/cargohold/src/CargoHold/Run.hs index beeba08763..2c23ae7738 100644 --- a/services/cargohold/src/CargoHold/Run.hs +++ b/services/cargohold/src/CargoHold/Run.hs @@ -40,7 +40,7 @@ module CargoHold.Run where import AWS.Util (readAuthExpiration) -import qualified Amazonka as AWS +import Amazonka qualified as AWS import CargoHold.API.Federation import CargoHold.API.Public import CargoHold.AWS (amazonkaEnv) @@ -54,15 +54,15 @@ import Data.Metrics.Servant import Data.Proxy import Data.Text (unpack) import Imports -import qualified Network.Wai as Wai -import qualified Network.Wai.Middleware.Gzip as GZip +import Network.Wai qualified as Wai +import Network.Wai.Middleware.Gzip qualified as GZip import Network.Wai.Utilities.Request import Network.Wai.Utilities.Server -import qualified Network.Wai.Utilities.Server as Server +import Network.Wai.Utilities.Server qualified as Server import qualified Servant import Servant.API import Servant.Server hiding (Handler, runHandler) -import qualified UnliftIO.Async as Async +import UnliftIO.Async qualified as Async import Util.Options import Wire.API.Routes.API import Wire.API.Routes.Internal.Cargohold diff --git a/services/cargohold/src/CargoHold/S3.hs b/services/cargohold/src/CargoHold/S3.hs index 08bcdda659..0635278fb5 100644 --- a/services/cargohold/src/CargoHold/S3.hs +++ b/services/cargohold/src/CargoHold/S3.hs @@ -40,40 +40,40 @@ where import Amazonka hiding (Error) import Amazonka.S3 import Amazonka.S3.Lens -import qualified Amazonka.S3.StreamingUpload as SU +import Amazonka.S3.StreamingUpload qualified as SU import CargoHold.API.Error import CargoHold.AWS (amazonkaEnvWithDownloadEndpoint) -import qualified CargoHold.AWS as AWS +import CargoHold.AWS qualified as AWS import CargoHold.App hiding (Env) import CargoHold.Options -import qualified CargoHold.Types.V3 as V3 -import qualified Codec.MIME.Parse as MIME -import qualified Codec.MIME.Type as MIME +import CargoHold.Types.V3 qualified as V3 +import Codec.MIME.Parse qualified as MIME +import Codec.MIME.Type qualified as MIME import Conduit import Control.Error (throwE) import Control.Lens hiding (parts, (.=), (:<), (:>)) import Control.Monad.Catch (try) -import qualified Data.Aeson as A +import Data.Aeson qualified as A import Data.Bifunctor (first) -import qualified Data.ByteString as BS +import Data.ByteString qualified as BS import Data.ByteString.Builder (toLazyByteString) import Data.ByteString.Conversion import Data.ByteString.Lazy (fromStrict) -import qualified Data.ByteString.Lazy as LBS -import qualified Data.CaseInsensitive as CI +import Data.ByteString.Lazy qualified as LBS +import Data.CaseInsensitive qualified as CI import Data.Conduit.Binary -import qualified Data.HashMap.Lazy as HML +import Data.HashMap.Lazy qualified as HML import Data.Id import Data.Qualified (Qualified) -import qualified Data.Schema as S -import qualified Data.Text as Text -import qualified Data.Text.Ascii as Ascii +import Data.Schema qualified as S +import Data.Text qualified as Text +import Data.Text.Ascii qualified as Ascii import Data.Text.Encoding (decodeLatin1, encodeUtf8) -import qualified Data.Text.Encoding as Text +import Data.Text.Encoding qualified as Text import Data.Time.Clock -import qualified Data.UUID as UUID +import Data.UUID qualified as UUID import Imports -import qualified System.Logger.Class as Log +import System.Logger.Class qualified as Log import System.Logger.Message (msg, val, (.=), (~~)) import Test.QuickCheck (Arbitrary (..)) import URI.ByteString diff --git a/services/cargohold/src/CargoHold/Util.hs b/services/cargohold/src/CargoHold/Util.hs index 763866e46b..8eff4f5b1e 100644 --- a/services/cargohold/src/CargoHold/Util.hs +++ b/services/cargohold/src/CargoHold/Util.hs @@ -20,11 +20,11 @@ module CargoHold.Util where import CargoHold.API.AuditLog import CargoHold.AWS import CargoHold.App -import qualified CargoHold.CloudFront as CloudFront +import CargoHold.CloudFront qualified as CloudFront import CargoHold.Options import CargoHold.S3 (S3AssetMeta) -import qualified CargoHold.S3 as S3 -import qualified CargoHold.Types as V3 +import CargoHold.S3 qualified as S3 +import CargoHold.Types qualified as V3 import Data.ByteString.Conversion import Data.Qualified (Qualified) import Imports diff --git a/services/cargohold/test/integration/API.hs b/services/cargohold/test/integration/API.hs index 28892d4c39..b6ca87f7f9 100644 --- a/services/cargohold/test/integration/API.hs +++ b/services/cargohold/test/integration/API.hs @@ -22,7 +22,7 @@ import Bilge hiding (body) import Bilge.Assert import CargoHold.Types import Control.Exception (throw) -import qualified Data.Aeson as Aeson +import Data.Aeson qualified as Aeson import Data.Domain import Data.Id import Data.Qualified @@ -30,8 +30,8 @@ import Data.UUID.V4 import Federator.MockServer import Imports hiding (head) import Network.HTTP.Media ((//)) -import qualified Network.HTTP.Types as HTTP -import qualified Network.Wai.Utilities.Error as Wai +import Network.HTTP.Types qualified as HTTP +import Network.Wai.Utilities.Error qualified as Wai import Test.Tasty import Test.Tasty.HUnit import TestSetup diff --git a/services/cargohold/test/integration/API/Util.hs b/services/cargohold/test/integration/API/Util.hs index ed2968428f..93ce345c81 100644 --- a/services/cargohold/test/integration/API/Util.hs +++ b/services/cargohold/test/integration/API/Util.hs @@ -30,10 +30,10 @@ import Data.ByteString.Conversion import Data.Default import Data.Id import Data.Qualified -import qualified Data.UUID as UUID +import Data.UUID qualified as UUID import Federator.MockServer import Imports hiding (head) -import qualified Network.HTTP.Media as HTTP +import Network.HTTP.Media qualified as HTTP import Network.Wai.Utilities.MockServer import TestSetup import Util.Options diff --git a/services/cargohold/test/integration/App.hs b/services/cargohold/test/integration/App.hs index b4b9c128ed..1190802575 100644 --- a/services/cargohold/test/integration/App.hs +++ b/services/cargohold/test/integration/App.hs @@ -25,8 +25,8 @@ import CargoHold.Options as Opts import Control.Exception import Control.Lens import Data.ByteString.Conversion -import qualified Data.Map as Map -import qualified Data.Text as T +import Data.Map qualified as Map +import Data.Text qualified as T import Imports import Test.Tasty import Test.Tasty.HUnit diff --git a/services/cargohold/test/integration/TestSetup.hs b/services/cargohold/test/integration/TestSetup.hs index 629158039c..dc442d82d2 100644 --- a/services/cargohold/test/integration/TestSetup.hs +++ b/services/cargohold/test/integration/TestSetup.hs @@ -42,14 +42,14 @@ import Control.Lens import Control.Monad.Codensity import Control.Monad.Except import Control.Monad.Morph -import qualified Data.ByteString.Char8 as B8 +import Data.ByteString.Char8 qualified as B8 import Data.ByteString.Conversion -import qualified Data.Text as T +import Data.Text qualified as T import Data.Text.Encoding import Data.Yaml import Imports import Network.HTTP.Client hiding (responseBody) -import qualified Network.HTTP.Client as HTTP +import Network.HTTP.Client qualified as HTTP import Network.HTTP.Client.TLS import Servant.Client.Streaming import Test.Tasty diff --git a/services/cargohold/test/unit/Main.hs b/services/cargohold/test/unit/Main.hs index 0a0dd4f77c..cb6e0b924b 100644 --- a/services/cargohold/test/unit/Main.hs +++ b/services/cargohold/test/unit/Main.hs @@ -18,7 +18,7 @@ module Main (main) where import Imports -import qualified Test.CargoHold.API.AuditLogTest as AuditLog +import Test.CargoHold.API.AuditLogTest qualified as AuditLog import Test.Tasty main :: IO () diff --git a/services/cargohold/test/unit/Test/CargoHold/API/AuditLogTest.hs b/services/cargohold/test/unit/Test/CargoHold/API/AuditLogTest.hs index 73baf693d0..8d9a29ff27 100644 --- a/services/cargohold/test/unit/Test/CargoHold/API/AuditLogTest.hs +++ b/services/cargohold/test/unit/Test/CargoHold/API/AuditLogTest.hs @@ -19,16 +19,16 @@ module Test.CargoHold.API.AuditLogTest (tests) where import CargoHold.API.AuditLog import CargoHold.S3 (AssetAuditLogMetadata (..), S3AssetMeta (..)) -import qualified CargoHold.Types.V3 as V3 -import qualified Codec.MIME.Type as MIME +import CargoHold.Types.V3 qualified as V3 +import Codec.MIME.Type qualified as MIME import Data.Aeson ((.=)) -import qualified Data.Aeson as Aeson +import Data.Aeson qualified as Aeson import Data.ByteString.Conversion (toByteString') import Data.Domain (Domain (..), domainText) import Data.Id (UserId, botUserId) import Data.Misc (IpAddr) import Data.Qualified -import qualified Data.Text as T +import Data.Text qualified as T import Data.Text.Encoding (decodeUtf8) import Imports import System.Logger.Extended (LoggerT, runWithLogger) @@ -36,7 +36,7 @@ import Test.CargoHold.API.LogJSON import Test.Tasty import Test.Tasty.QuickCheck as QC import URI.ByteString -import qualified Wire.API.Asset as Asset +import Wire.API.Asset qualified as Asset import qualified Wire.Arbitrary () tests :: TestTree diff --git a/services/cargohold/test/unit/Test/CargoHold/API/LogJSON.hs b/services/cargohold/test/unit/Test/CargoHold/API/LogJSON.hs index ff3991f58d..437a477057 100644 --- a/services/cargohold/test/unit/Test/CargoHold/API/LogJSON.hs +++ b/services/cargohold/test/unit/Test/CargoHold/API/LogJSON.hs @@ -20,16 +20,16 @@ module Test.CargoHold.API.LogJSON ) where -import qualified Control.Concurrent as CC +import Control.Concurrent qualified as CC import Control.Concurrent.Chan (Chan, newChan, readChan, writeChan) import Data.Aeson (Value) -import qualified Data.Aeson as A -import qualified Data.ByteString.Char8 as BS8 -import qualified Data.ByteString.Lazy as LBS -import qualified GHC.IO.Handle as IOH +import Data.Aeson qualified as A +import Data.ByteString.Char8 qualified as BS8 +import Data.ByteString.Lazy qualified as LBS +import GHC.IO.Handle qualified as IOH import Imports -import qualified System.IO as IO -import qualified System.IO.Error as IOE +import System.IO qualified as IO +import System.IO.Error qualified as IOE import System.Logger.Extended import System.Posix.IO (closeFd, createPipe, fdToHandle) import System.Posix.Types (Fd) diff --git a/services/spar/migrate-data/src/Main.hs b/services/spar/migrate-data/src/Main.hs index 3c0dde7b78..54ec473ce2 100644 --- a/services/spar/migrate-data/src/Main.hs +++ b/services/spar/migrate-data/src/Main.hs @@ -18,7 +18,7 @@ module Main where import Imports -import qualified Spar.DataMigration.Run as Run +import Spar.DataMigration.Run qualified as Run main :: IO () main = Run.main diff --git a/services/spar/migrate-data/src/Spar/DataMigration/Options.hs b/services/spar/migrate-data/src/Spar/DataMigration/Options.hs index 6850ca92ec..0c28c26a42 100644 --- a/services/spar/migrate-data/src/Spar/DataMigration/Options.hs +++ b/services/spar/migrate-data/src/Spar/DataMigration/Options.hs @@ -28,7 +28,7 @@ module Spar.DataMigration.Options ) where -import qualified Cassandra as C +import Cassandra qualified as C import Control.Lens import Data.Text.Strict.Lens import Imports diff --git a/services/spar/migrate-data/src/Spar/DataMigration/Run.hs b/services/spar/migrate-data/src/Spar/DataMigration/Run.hs index c41bd2d2cc..c8aa1ab29a 100644 --- a/services/spar/migrate-data/src/Spar/DataMigration/Run.hs +++ b/services/spar/migrate-data/src/Spar/DataMigration/Run.hs @@ -20,18 +20,18 @@ module Spar.DataMigration.Run where import Cassandra (ClientState) -import qualified Cassandra as C +import Cassandra qualified as C import Cassandra.Util (defInitCassandra) import Control.Lens import Control.Monad.Catch (finally) -import qualified Data.Text as Text +import Data.Text qualified as Text import Data.Time (UTCTime, getCurrentTime) import Imports -import qualified Options.Applicative as Opts +import Options.Applicative qualified as Opts import Spar.DataMigration.Options (settingsParser) import Spar.DataMigration.Types -import qualified Spar.DataMigration.V2_UserV2 as V2 -import qualified System.Logger as Log +import Spar.DataMigration.V2_UserV2 qualified as V2 +import System.Logger qualified as Log main :: IO () main = do diff --git a/services/spar/migrate-data/src/Spar/DataMigration/Types.hs b/services/spar/migrate-data/src/Spar/DataMigration/Types.hs index abcdf2d34d..b58556f40c 100644 --- a/services/spar/migrate-data/src/Spar/DataMigration/Types.hs +++ b/services/spar/migrate-data/src/Spar/DataMigration/Types.hs @@ -20,13 +20,13 @@ module Spar.DataMigration.Types where -import qualified Cassandra as C +import Cassandra qualified as C import Cassandra.Options import Control.Lens -import qualified Data.Text as Text +import Data.Text qualified as Text import Imports import Numeric.Natural (Natural) -import qualified System.Logger as Logger +import System.Logger qualified as Logger data Migration = Migration { version :: MigrationVersion, diff --git a/services/spar/migrate-data/src/Spar/DataMigration/V2_UserV2.hs b/services/spar/migrate-data/src/Spar/DataMigration/V2_UserV2.hs index ea329e08f8..a66aeb2376 100644 --- a/services/spar/migrate-data/src/Spar/DataMigration/V2_UserV2.hs +++ b/services/spar/migrate-data/src/Spar/DataMigration/V2_UserV2.hs @@ -20,24 +20,24 @@ module Spar.DataMigration.V2_UserV2 (migration) where import Cassandra -import qualified Conduit as C -import qualified Data.ByteString.UTF8 as UTF8 +import Conduit qualified as C +import Data.ByteString.UTF8 qualified as UTF8 import Data.Conduit -import qualified Data.Conduit.Combinators as CC +import Data.Conduit.Combinators qualified as CC import Data.Conduit.Internal (zipSources) -import qualified Data.Conduit.List as CL +import Data.Conduit.List qualified as CL import Data.Id -import qualified Data.Map.Strict as Map -import qualified Data.Text as T +import Data.Map.Strict qualified as Map +import Data.Text qualified as T import Data.Time (UTCTime) import Imports -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML import SAML2.WebSSO.Types (Issuer (..)) import Spar.Data (NormalizedUNameID (unNormalizedUNameID), normalizeQualifiedNameId) import Spar.Data.Instances () import Spar.DataMigration.Types (logger) import Spar.DataMigration.Types hiding (logger) -import qualified System.Logger as Log +import System.Logger qualified as Log import URI.ByteString (serializeURIRef') -- row in spar.user diff --git a/services/spar/schema/Main.hs b/services/spar/schema/Main.hs index 3d00e3008b..3fcc98e888 100644 --- a/services/spar/schema/Main.hs +++ b/services/spar/schema/Main.hs @@ -18,7 +18,7 @@ module Main where import Imports -import qualified Spar.Schema.Run as Run +import Spar.Schema.Run qualified as Run main :: IO () main = Run.main diff --git a/services/spar/spar.cabal b/services/spar/spar.cabal index c9637fca4f..8e276b0550 100644 --- a/services/spar/spar.cabal +++ b/services/spar/spar.cabal @@ -204,7 +204,7 @@ library , wire-subsystems , yaml - default-language: Haskell2010 + default-language: GHC2021 executable spar main-is: Main.hs @@ -264,7 +264,7 @@ executable spar , imports , spar - default-language: Haskell2010 + default-language: GHC2021 executable spar-integration main-is: Main.hs @@ -403,7 +403,7 @@ executable spar-integration , yaml , zauth - default-language: Haskell2010 + default-language: GHC2021 executable spar-migrate-data main-is: Main.hs @@ -482,7 +482,7 @@ executable spar-migrate-data , uri-bytestring , utf8-string - default-language: Haskell2010 + default-language: GHC2021 executable spar-schema main-is: Main.hs @@ -540,7 +540,7 @@ executable spar-schema imports , spar - default-language: Haskell2010 + default-language: GHC2021 test-suite spec type: exitcode-stdio-1.0 @@ -648,4 +648,4 @@ test-suite spec , uuid , wire-api - default-language: Haskell2010 + default-language: GHC2021 diff --git a/services/spar/src/Spar/API.hs b/services/spar/src/Spar/API.hs index 58e313646e..d307700fb4 100644 --- a/services/spar/src/Spar/API.hs +++ b/services/spar/src/Spar/API.hs @@ -48,18 +48,18 @@ where import Brig.Types.Intra import Cassandra as Cas import Control.Lens hiding ((.=)) -import qualified Data.ByteString as SBS +import Data.ByteString qualified as SBS import Data.ByteString.Builder (toLazyByteString) import Data.ByteString.Conversion import Data.Domain import Data.HavePendingInvitations import Data.Id import Data.List.NonEmpty (NonEmpty) -import qualified Data.Map as Map +import Data.Map qualified as Map import Data.Proxy import Data.Range import Data.Text.Encoding.Error -import qualified Data.Text.Lazy as T +import Data.Text.Lazy qualified as T import Data.Text.Lazy.Encoding import Data.Time import Imports @@ -69,45 +69,45 @@ import Network.Wai.Utilities.Server (defaultRequestIdHeaderName) import Polysemy import Polysemy.Error import Polysemy.Input -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML import Servant -import qualified Servant.Multipart as Multipart +import Servant.Multipart qualified as Multipart import Servant.Server.Experimental.Auth import Spar.App import Spar.CanonicalInterpreter import Spar.Error -import qualified Spar.Intra.BrigApp as Brig +import Spar.Intra.BrigApp qualified as Brig import Spar.Options import Spar.Orphans () import Spar.Scim hiding (handle) import Spar.Sem.AReqIDStore (AReqIDStore) import Spar.Sem.AssIDStore (AssIDStore) import Spar.Sem.BrigAccess (BrigAccess, getAccount) -import qualified Spar.Sem.BrigAccess as BrigAccess +import Spar.Sem.BrigAccess qualified as BrigAccess import Spar.Sem.DefaultSsoCode (DefaultSsoCode) -import qualified Spar.Sem.DefaultSsoCode as DefaultSsoCode +import Spar.Sem.DefaultSsoCode qualified as DefaultSsoCode import Spar.Sem.GalleyAccess (GalleyAccess) -import qualified Spar.Sem.GalleyAccess as GalleyAccess +import Spar.Sem.GalleyAccess qualified as GalleyAccess import Spar.Sem.IdPConfigStore (IdPConfigStore, Replaced (..), Replacing (..)) -import qualified Spar.Sem.IdPConfigStore as IdPConfigStore +import Spar.Sem.IdPConfigStore qualified as IdPConfigStore import Spar.Sem.IdPRawMetadataStore (IdPRawMetadataStore) -import qualified Spar.Sem.IdPRawMetadataStore as IdPRawMetadataStore +import Spar.Sem.IdPRawMetadataStore qualified as IdPRawMetadataStore import Spar.Sem.Reporter (Reporter) import Spar.Sem.SAML2 (SAML2) -import qualified Spar.Sem.SAML2 as SAML2 +import Spar.Sem.SAML2 qualified as SAML2 import Spar.Sem.SAMLUserStore (SAMLUserStore) -import qualified Spar.Sem.SAMLUserStore as SAMLUserStore +import Spar.Sem.SAMLUserStore qualified as SAMLUserStore import Spar.Sem.SamlProtocolSettings (SamlProtocolSettings) -import qualified Spar.Sem.SamlProtocolSettings as SamlProtocolSettings +import Spar.Sem.SamlProtocolSettings qualified as SamlProtocolSettings import Spar.Sem.ScimExternalIdStore (ScimExternalIdStore) import Spar.Sem.ScimTokenStore (ScimTokenStore) -import qualified Spar.Sem.ScimTokenStore as ScimTokenStore +import Spar.Sem.ScimTokenStore qualified as ScimTokenStore import Spar.Sem.ScimUserTimesStore (ScimUserTimesStore) -import qualified Spar.Sem.ScimUserTimesStore as ScimUserTimesStore +import Spar.Sem.ScimUserTimesStore qualified as ScimUserTimesStore import Spar.Sem.VerdictFormatStore (VerdictFormatStore) -import qualified Spar.Sem.VerdictFormatStore as VerdictFormatStore +import Spar.Sem.VerdictFormatStore qualified as VerdictFormatStore import System.Logger (Msg) -import qualified URI.ByteString as URI +import URI.ByteString qualified as URI import Wire.API.Routes.Internal.Spar import Wire.API.Routes.Named import Wire.API.Routes.Public (ZHostValue) @@ -118,10 +118,10 @@ import Wire.API.User.IdentityProvider import Wire.API.User.Saml import Wire.ScimSubsystem import Wire.Sem.Logger (Logger) -import qualified Wire.Sem.Logger as Logger +import Wire.Sem.Logger qualified as Logger import Wire.Sem.Now (Now) import Wire.Sem.Random (Random) -import qualified Wire.Sem.Random as Random +import Wire.Sem.Random qualified as Random app :: Env -> Application app ctx0 req cont = do diff --git a/services/spar/src/Spar/App.hs b/services/spar/src/Spar/App.hs index 0aca271e88..acf22f6f65 100644 --- a/services/spar/src/Spar/App.hs +++ b/services/spar/src/Spar/App.hs @@ -36,27 +36,27 @@ module Spar.App where import Bilge -import qualified Cassandra as Cas +import Cassandra qualified as Cas import Control.Exception (assert) import Control.Lens hiding ((.=)) import Data.Aeson as Aeson (encode, object, (.=)) import Data.Aeson.Text as Aeson (encodeToLazyText) import Data.ByteString (toStrict) -import qualified Data.ByteString.Builder as Builder -import qualified Data.ByteString.UTF8 as UTF8 -import qualified Data.CaseInsensitive as CI +import Data.ByteString.Builder qualified as Builder +import Data.ByteString.UTF8 qualified as UTF8 +import Data.CaseInsensitive qualified as CI import Data.Id import Data.List.NonEmpty (NonEmpty ((:|))) -import qualified Data.List.NonEmpty as NonEmpty -import qualified Data.Text as Text +import Data.List.NonEmpty qualified as NonEmpty +import Data.Text qualified as Text import Data.Text.Ascii (encodeBase64, toText) -import qualified Data.Text.Encoding as Text -import qualified Data.Text.Lazy as LText -import qualified Data.Text.Lazy.Encoding as LText +import Data.Text.Encoding qualified as Text +import Data.Text.Lazy qualified as LText +import Data.Text.Lazy.Encoding qualified as LText import Data.These import Imports hiding (MonadReader, asks, log) -import qualified Network.HTTP.Types.Status as Http -import qualified Network.Wai.Utilities.Error as Wai +import Network.HTTP.Types.Status qualified as Http +import Network.Wai.Utilities.Error qualified as Wai import Polysemy import Polysemy.Error import SAML2.Util (renderURI) @@ -67,31 +67,31 @@ import SAML2.WebSSO idpExtraInfo, idpId, ) -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML import Servant -import qualified Servant.Multipart as Multipart +import Servant.Multipart qualified as Multipart import Spar.Error hiding (sparToServerErrorWithLogging) -import qualified Spar.Intra.BrigApp as Intra +import Spar.Intra.BrigApp qualified as Intra import Spar.Options import Spar.Orphans () import Spar.Sem.AReqIDStore (AReqIDStore) import Spar.Sem.BrigAccess (BrigAccess, getAccount) -import qualified Spar.Sem.BrigAccess as BrigAccess +import Spar.Sem.BrigAccess qualified as BrigAccess import Spar.Sem.GalleyAccess (GalleyAccess) -import qualified Spar.Sem.GalleyAccess as GalleyAccess +import Spar.Sem.GalleyAccess qualified as GalleyAccess import Spar.Sem.IdPConfigStore (IdPConfigStore) -import qualified Spar.Sem.IdPConfigStore as IdPConfigStore +import Spar.Sem.IdPConfigStore qualified as IdPConfigStore import Spar.Sem.Reporter (Reporter) -import qualified Spar.Sem.Reporter as Reporter +import Spar.Sem.Reporter qualified as Reporter import Spar.Sem.SAMLUserStore (SAMLUserStore) -import qualified Spar.Sem.SAMLUserStore as SAMLUserStore +import Spar.Sem.SAMLUserStore qualified as SAMLUserStore import Spar.Sem.ScimExternalIdStore (ScimExternalIdStore) -import qualified Spar.Sem.ScimExternalIdStore as ScimExternalIdStore +import Spar.Sem.ScimExternalIdStore qualified as ScimExternalIdStore import Spar.Sem.ScimTokenStore (ScimTokenStore) -import qualified Spar.Sem.ScimTokenStore as ScimTokenStore +import Spar.Sem.ScimTokenStore qualified as ScimTokenStore import Spar.Sem.VerdictFormatStore (VerdictFormatStore) -import qualified Spar.Sem.VerdictFormatStore as VerdictFormatStore -import qualified System.Logger as TinyLog +import Spar.Sem.VerdictFormatStore qualified as VerdictFormatStore +import System.Logger qualified as TinyLog import URI.ByteString as URI import Web.Cookie (SetCookie, renderSetCookie) import Wire.API.Team.Role (Role, defaultRole) @@ -101,9 +101,9 @@ import Wire.API.User.Saml import Wire.Error import Wire.ScimSubsystem.Interpreter import Wire.Sem.Logger (Logger) -import qualified Wire.Sem.Logger as Logger +import Wire.Sem.Logger qualified as Logger import Wire.Sem.Random (Random) -import qualified Wire.Sem.Random as Random +import Wire.Sem.Random qualified as Random throwSparSem :: (Member (Error SparError) r) => SparCustomError -> Sem r a throwSparSem = throw . SAML.CustomError diff --git a/services/spar/src/Spar/CanonicalInterpreter.hs b/services/spar/src/Spar/CanonicalInterpreter.hs index 2627476844..4ec5ef2eae 100644 --- a/services/spar/src/Spar/CanonicalInterpreter.hs +++ b/services/spar/src/Spar/CanonicalInterpreter.hs @@ -24,7 +24,7 @@ module Spar.CanonicalInterpreter ) where -import qualified Cassandra as Cas +import Cassandra qualified as Cas import Control.Monad.Except hiding (mapError) import Imports import Polysemy @@ -68,7 +68,7 @@ import Spar.Sem.ScimUserTimesStore.Cassandra (scimUserTimesStoreToCassandra) import Spar.Sem.Utils (idpDbErrorToSparError, interpretClientToIO, ttlErrorToSparError) import Spar.Sem.VerdictFormatStore (VerdictFormatStore) import Spar.Sem.VerdictFormatStore.Cassandra (verdictFormatStoreToCassandra) -import qualified System.Logger as TinyLog +import System.Logger qualified as TinyLog import Wire.API.User.Saml (TTLError) import Wire.BrigAPIAccess (BrigAPIAccess) import Wire.BrigAPIAccess.Rpc (interpretBrigAccess) diff --git a/services/spar/src/Spar/Data.hs b/services/spar/src/Spar/Data.hs index 3daa686b6d..d4ae92b1ce 100644 --- a/services/spar/src/Spar/Data.hs +++ b/services/spar/src/Spar/Data.hs @@ -35,15 +35,15 @@ import Cassandra as Cas import Control.Lens import Control.Monad.Except import Data.CaseInsensitive (foldCase) -import qualified Data.CaseInsensitive as CI +import Data.CaseInsensitive qualified as CI import Data.Time import GHC.TypeLits (KnownSymbol) import Imports import SAML2.Util (renderURI) -import qualified SAML2.WebSSO as SAML -import qualified SAML2.WebSSO.Types.Email as SAMLEmail +import SAML2.WebSSO qualified as SAML +import SAML2.WebSSO.Types.Email qualified as SAMLEmail import Spar.Options -import qualified Spar.Schema.Run as Migrations +import Spar.Schema.Run qualified as Migrations import Wire.API.User.Saml -- | A lower bound: @schemaVersion <= whatWeFoundOnCassandra@, not @==@. diff --git a/services/spar/src/Spar/Data/Instances.hs b/services/spar/src/Spar/Data/Instances.hs index 1ab252c0f2..fb921a573e 100644 --- a/services/spar/src/Spar/Data/Instances.hs +++ b/services/spar/src/Spar/Data/Instances.hs @@ -35,14 +35,14 @@ import Cassandra as Cas import Data.ByteString (toStrict) import Data.ByteString.Conversion (fromByteString, toByteString) import Data.Functor.Alt (Alt (())) -import qualified Data.Text.Encoding as T +import Data.Text.Encoding qualified as T import Data.Text.Encoding.Error -import qualified Data.Text.Lazy as LT +import Data.Text.Lazy qualified as LT import Data.Text.Lazy.Encoding as LT import Data.X509 (SignedCertificate) import Imports import SAML2.Util (parseURI') -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML import Spar.Scim.Types (ScimUserCreationStatus (..)) import Text.XML.DSig (parseKeyInfo, renderKeyInfo) import URI.ByteString diff --git a/services/spar/src/Spar/Error.hs b/services/spar/src/Spar/Error.hs index 48ff8866dc..051050cddf 100644 --- a/services/spar/src/Spar/Error.hs +++ b/services/spar/src/Spar/Error.hs @@ -47,21 +47,21 @@ import Bilge (ResponseLBS, responseBody, responseJsonMaybe) import qualified Bilge import Control.Monad.Except import Data.Aeson -import qualified Data.ByteString.Lazy as LBS -import qualified Data.Text.Lazy as LText -import qualified Data.Text.Lazy.Encoding as LText +import Data.ByteString.Lazy qualified as LBS +import Data.Text.Lazy qualified as LText +import Data.Text.Lazy.Encoding qualified as LText import Data.Typeable (typeRep) import GHC.Stack (callStack, prettyCallStack) import Imports import Network.HTTP.Types.Status -import qualified Network.Wai as Wai -import qualified Network.Wai.Utilities.Error as Wai +import Network.Wai qualified as Wai +import Network.Wai.Utilities.Error qualified as Wai import Polysemy import Polysemy.Error -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML import Servant -import qualified System.Logger.Class as Log -import qualified Web.Scim.Schema.Error as Scim +import System.Logger.Class qualified as Log +import Web.Scim.Schema.Error qualified as Scim import Wire.API.User.Saml (TTLError) import Wire.Error import Wire.ScimSubsystem.Interpreter diff --git a/services/spar/src/Spar/Intra/Brig.hs b/services/spar/src/Spar/Intra/Brig.hs index fee2e54616..7c1bf486d8 100644 --- a/services/spar/src/Spar/Intra/Brig.hs +++ b/services/spar/src/Spar/Intra/Brig.hs @@ -55,13 +55,13 @@ import Data.Code as Code import Data.Handle (Handle (fromHandle)) import Data.Id (Id (Id), TeamId, UserId) import Data.Misc (PlainTextPassword6) -import qualified Data.Text.Lazy as Lazy +import Data.Text.Lazy qualified as Lazy import Imports import Network.HTTP.Types.Method -import qualified Network.Wai.Utilities.Error as Wai -import qualified SAML2.WebSSO as SAML +import Network.Wai.Utilities.Error qualified as Wai +import SAML2.WebSSO qualified as SAML import Spar.Error -import qualified System.Logger.Class as Log +import System.Logger.Class qualified as Log import Web.Cookie import Wire.API.Locale import Wire.API.Team.Role (Role) diff --git a/services/spar/src/Spar/Intra/BrigApp.hs b/services/spar/src/Spar/Intra/BrigApp.hs index 08bc096ee8..c7289caba8 100644 --- a/services/spar/src/Spar/Intra/BrigApp.hs +++ b/services/spar/src/Spar/Intra/BrigApp.hs @@ -44,7 +44,7 @@ import Control.Lens import Control.Monad.Except import Data.ByteString.Conversion import Data.CaseInsensitive (original) -import qualified Data.CaseInsensitive as CI +import Data.CaseInsensitive qualified as CI import Data.Handle (Handle, parseHandle) import Data.HavePendingInvitations import Data.Id (TeamId, UserId) @@ -55,12 +55,12 @@ import Data.These.Combinators import Imports import Polysemy import Polysemy.Error -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML import Spar.Error import Spar.Sem.BrigAccess (BrigAccess) -import qualified Spar.Sem.BrigAccess as BrigAccess +import Spar.Sem.BrigAccess qualified as BrigAccess import Spar.Sem.GalleyAccess (GalleyAccess) -import qualified Spar.Sem.GalleyAccess as GalleyAccess +import Spar.Sem.GalleyAccess qualified as GalleyAccess import Wire.API.Team.Member (HiddenPerm (CreateReadDeleteScimToken), IsPerm, TeamMember) import Wire.API.User import Wire.API.User.Scim (ValidScimId (..)) diff --git a/services/spar/src/Spar/Intra/Galley.hs b/services/spar/src/Spar/Intra/Galley.hs index b938931c56..590475b20f 100644 --- a/services/spar/src/Spar/Intra/Galley.hs +++ b/services/spar/src/Spar/Intra/Galley.hs @@ -26,11 +26,11 @@ import Control.Lens import Control.Monad.Except import Data.ByteString.Conversion import Data.Id (TeamId, UserId) -import qualified Data.Text.Lazy as LText +import Data.Text.Lazy qualified as LText import Imports import Network.HTTP.Types.Method import Spar.Error -import qualified System.Logger.Class as Log +import System.Logger.Class qualified as Log import Wire.API.Team.Feature import Wire.API.Team.Member import Wire.API.Team.Role diff --git a/services/spar/src/Spar/Options.hs b/services/spar/src/Spar/Options.hs index d6bf7840cc..b910e5b0c1 100644 --- a/services/spar/src/Spar/Options.hs +++ b/services/spar/src/Spar/Options.hs @@ -29,11 +29,11 @@ where import Control.Exception import Data.Aeson hiding (fieldLabelModifier) import Data.Time -import qualified Data.Yaml as Yaml +import Data.Yaml qualified as Yaml import Imports import Options.Applicative import SAML2.WebSSO -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML import System.Logger.Extended (LogFormat) import URI.ByteString import Util.Options diff --git a/services/spar/src/Spar/Orphans.hs b/services/spar/src/Spar/Orphans.hs index 5258bccfc3..fe7a4675d9 100644 --- a/services/spar/src/Spar/Orphans.hs +++ b/services/spar/src/Spar/Orphans.hs @@ -24,9 +24,9 @@ module Spar.Orphans ) where -import qualified Data.Text.Lazy as LText +import Data.Text.Lazy qualified as LText import Imports -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML import Servant (MimeRender (..), PlainText) import Servant.API.Extended import Spar.Error diff --git a/services/spar/src/Spar/Run.hs b/services/spar/src/Spar/Run.hs index d14e1842b1..f67febf399 100644 --- a/services/spar/src/Spar/Run.hs +++ b/services/spar/src/Spar/Run.hs @@ -33,7 +33,7 @@ import Cassandra as Cas import Cassandra.Util (initCassandraForService) import Control.Exception (ErrorCall (ErrorCall), throwIO) import Control.Lens (to, (^.)) -import qualified Data.ByteString.UTF8 as UTF8 +import Data.ByteString.UTF8 qualified as UTF8 import Data.Id import Data.Metrics.Servant (servantPrometheusMiddleware) import Data.Proxy (Proxy (Proxy)) @@ -41,24 +41,24 @@ import Data.Text.Encoding import Imports import Network.URI import Network.Wai (Application) -import qualified Network.Wai as Wai -import qualified Network.Wai.Handler.Warp as Warp -import qualified Network.Wai.Middleware.Gunzip as GZip +import Network.Wai qualified as Wai +import Network.Wai.Handler.Warp qualified as Warp +import Network.Wai.Middleware.Gunzip qualified as GZip import Network.Wai.Utilities.Server -import qualified Network.Wai.Utilities.Server as WU -import qualified SAML2.WebSSO as SAML +import Network.Wai.Utilities.Server qualified as WU +import SAML2.WebSSO qualified as SAML import Spar.API (SparAPI, app) import Spar.App -import qualified Spar.Data as Data +import Spar.Data qualified as Data import Spar.Data.Instances () import Spar.Options as Opt import Spar.Orphans () import System.Logger (Logger) -import qualified System.Logger as Log -import qualified System.Logger.Extended as Log -import qualified URI.ByteString as URI +import System.Logger qualified as Log +import System.Logger.Extended qualified as Log +import URI.ByteString qualified as URI import Util.Options -import qualified Web.Scim.Schema.Common as Scim +import Web.Scim.Schema.Common qualified as Scim import Wire.API.Routes.Version (expandVersionExp) import Wire.API.Routes.Version.Wai import Wire.ScimSubsystem.Interpreter diff --git a/services/spar/src/Spar/Schema/Run.hs b/services/spar/src/Spar/Schema/Run.hs index 2ddb825c3c..4c6e603bc5 100644 --- a/services/spar/src/Spar/Schema/Run.hs +++ b/services/spar/src/Spar/Schema/Run.hs @@ -21,29 +21,29 @@ import Cassandra.MigrateSchema (migrateSchema) import Cassandra.Schema import Control.Exception (finally) import Imports -import qualified Spar.Schema.V0 as V0 -import qualified Spar.Schema.V1 as V1 -import qualified Spar.Schema.V10 as V10 -import qualified Spar.Schema.V11 as V11 -import qualified Spar.Schema.V12 as V12 -import qualified Spar.Schema.V13 as V13 -import qualified Spar.Schema.V14 as V14 -import qualified Spar.Schema.V15 as V15 -import qualified Spar.Schema.V16 as V16 -import qualified Spar.Schema.V17 as V17 -import qualified Spar.Schema.V18 as V18 -import qualified Spar.Schema.V19 as V19 -import qualified Spar.Schema.V2 as V2 -import qualified Spar.Schema.V20 as V20 -import qualified Spar.Schema.V21 as V21 -import qualified Spar.Schema.V3 as V3 -import qualified Spar.Schema.V4 as V4 -import qualified Spar.Schema.V5 as V5 -import qualified Spar.Schema.V6 as V6 -import qualified Spar.Schema.V7 as V7 -import qualified Spar.Schema.V8 as V8 -import qualified Spar.Schema.V9 as V9 -import qualified System.Logger.Extended as Log +import Spar.Schema.V0 qualified as V0 +import Spar.Schema.V1 qualified as V1 +import Spar.Schema.V10 qualified as V10 +import Spar.Schema.V11 qualified as V11 +import Spar.Schema.V12 qualified as V12 +import Spar.Schema.V13 qualified as V13 +import Spar.Schema.V14 qualified as V14 +import Spar.Schema.V15 qualified as V15 +import Spar.Schema.V16 qualified as V16 +import Spar.Schema.V17 qualified as V17 +import Spar.Schema.V18 qualified as V18 +import Spar.Schema.V19 qualified as V19 +import Spar.Schema.V2 qualified as V2 +import Spar.Schema.V20 qualified as V20 +import Spar.Schema.V21 qualified as V21 +import Spar.Schema.V3 qualified as V3 +import Spar.Schema.V4 qualified as V4 +import Spar.Schema.V5 qualified as V5 +import Spar.Schema.V6 qualified as V6 +import Spar.Schema.V7 qualified as V7 +import Spar.Schema.V8 qualified as V8 +import Spar.Schema.V9 qualified as V9 +import System.Logger.Extended qualified as Log import Util.Options main :: IO () diff --git a/services/spar/src/Spar/Scim.hs b/services/spar/src/Spar/Scim.hs index 18060c4d64..f8277e6513 100644 --- a/services/spar/src/Spar/Scim.hs +++ b/services/spar/src/Spar/Scim.hs @@ -63,14 +63,14 @@ module Spar.Scim where import Data.ByteString (toStrict) -import qualified Data.Text as T -import qualified Data.Text.Encoding as T +import Data.Text qualified as T +import Data.Text.Encoding qualified as T import Data.Text.Encoding.Error import Imports import Polysemy import Polysemy.Error (Error, fromExceptionSem, runError, throw, try) import Polysemy.Input (Input) -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML import Servant import Servant.Server.Generic (AsServerT) import Spar.App (sparToServerErrorWithLogging, throwSparSem) @@ -91,13 +91,13 @@ import Spar.Sem.ScimExternalIdStore (ScimExternalIdStore) import Spar.Sem.ScimTokenStore (ScimTokenStore) import Spar.Sem.ScimUserTimesStore (ScimUserTimesStore) import System.Logger (Msg) -import qualified Web.Scim.Capabilities.MetaSchema as Scim.Meta -import qualified Web.Scim.Class.Group as Scim.Group -import qualified Web.Scim.Class.User as Scim.User -import qualified Web.Scim.Handler as Scim -import qualified Web.Scim.Schema.Error as Scim -import qualified Web.Scim.Schema.Schema as Scim.Schema -import qualified Web.Scim.Server as Scim +import Web.Scim.Capabilities.MetaSchema qualified as Scim.Meta +import Web.Scim.Class.Group qualified as Scim.Group +import Web.Scim.Class.User qualified as Scim.User +import Web.Scim.Handler qualified as Scim +import Web.Scim.Schema.Error qualified as Scim +import Web.Scim.Schema.Schema qualified as Scim.Schema +import Web.Scim.Server qualified as Scim import Wire.API.Routes.Public.Spar import Wire.API.User.Scim import Wire.ScimSubsystem diff --git a/services/spar/src/Spar/Scim/Auth.hs b/services/spar/src/Spar/Scim/Auth.hs index 1f7b824ce1..3cc101da45 100644 --- a/services/spar/src/Spar/Scim/Auth.hs +++ b/services/spar/src/Spar/Scim/Auth.hs @@ -36,40 +36,40 @@ module Spar.Scim.Auth where import Control.Lens hiding (Strict, (.=)) -import qualified Data.ByteString.Base64 as ES +import Data.ByteString.Base64 qualified as ES import Data.Code as Code import Data.Id import Data.Misc -import qualified Data.Text.Encoding as T +import Data.Text.Encoding qualified as T import Data.Text.Encoding.Error import Imports import Polysemy import Polysemy.Error import Polysemy.Input -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML import Servant (NoContent (NoContent), ServerT, (:<|>) ((:<|>))) import Spar.App (throwSparSem) -import qualified Spar.Error as E -import qualified Spar.Intra.BrigApp as Intra.Brig +import Spar.Error qualified as E +import Spar.Intra.BrigApp qualified as Intra.Brig import Spar.Options import Spar.Sem.BrigAccess (BrigAccess) -import qualified Spar.Sem.BrigAccess as BrigAccess +import Spar.Sem.BrigAccess qualified as BrigAccess import Spar.Sem.GalleyAccess (GalleyAccess) import Spar.Sem.IdPConfigStore (IdPConfigStore) -import qualified Spar.Sem.IdPConfigStore as IdPConfigStore +import Spar.Sem.IdPConfigStore qualified as IdPConfigStore import Spar.Sem.ScimTokenStore (ScimTokenStore) -import qualified Spar.Sem.ScimTokenStore as ScimTokenStore -import qualified Web.Scim.Class.Auth as Scim.Class.Auth -import qualified Web.Scim.Handler as Scim -import qualified Web.Scim.Schema.Error as Scim +import Spar.Sem.ScimTokenStore qualified as ScimTokenStore +import Web.Scim.Class.Auth qualified as Scim.Class.Auth +import Web.Scim.Handler qualified as Scim +import Web.Scim.Schema.Error qualified as Scim import Wire.API.Routes.Named import Wire.API.Routes.Public.Spar (APIScimToken) import Wire.API.User as User import Wire.API.User.Scim as Api import Wire.Sem.Now (Now) -import qualified Wire.Sem.Now as Now +import Wire.Sem.Now qualified as Now import Wire.Sem.Random (Random) -import qualified Wire.Sem.Random as Random +import Wire.Sem.Random qualified as Random -- | An instance that tells @hscim@ how authentication should be done for SCIM routes. instance (Member ScimTokenStore r) => Scim.Class.Auth.AuthDB SparTag (Sem r) where diff --git a/services/spar/src/Spar/Scim/Types.hs b/services/spar/src/Spar/Scim/Types.hs index b2b6b360af..2bc1681c49 100644 --- a/services/spar/src/Spar/Scim/Types.hs +++ b/services/spar/src/Spar/Scim/Types.hs @@ -34,8 +34,8 @@ import Control.Lens (view) import Imports import Test.QuickCheck (Arbitrary (..)) import Test.QuickCheck.Gen (elements) -import qualified Web.Scim.Schema.Common as Scim -import qualified Web.Scim.Schema.User as Scim.User +import Web.Scim.Schema.Common qualified as Scim +import Web.Scim.Schema.User qualified as Scim.User import Wire.API.User (AccountStatus (..)) import Wire.API.User.RichInfo (RichInfo (..), normalizeRichInfoAssocList) import Wire.API.User.Scim (ScimUserExtra (..), SparTag, sueRichInfo) diff --git a/services/spar/src/Spar/Scim/User.hs b/services/spar/src/Spar/Scim/User.hs index aaf4d56d41..1f0ac2c14e 100644 --- a/services/spar/src/Spar/Scim/User.hs +++ b/services/spar/src/Spar/Scim/User.hs @@ -44,82 +44,82 @@ module Spar.Scim.User ) where -import qualified Control.Applicative as Applicative (empty) +import Control.Applicative qualified as Applicative (empty) import Control.Lens hiding (op) import Control.Monad.Error.Class (MonadError) import Control.Monad.Except (throwError) import Control.Monad.Trans.Except (mapExceptT) import Control.Monad.Trans.Maybe (MaybeT (MaybeT), runMaybeT) import Crypto.Hash (Digest, SHA256, hashlazy) -import qualified Data.Aeson as Aeson -import qualified Data.Aeson.Text as Aeson +import Data.Aeson qualified as Aeson +import Data.Aeson.Text qualified as Aeson import Data.ByteString (toStrict) import Data.ByteString.Conversion (fromByteString, toByteString, toByteString') -import qualified Data.ByteString.UTF8 as UTF8 +import Data.ByteString.UTF8 qualified as UTF8 import Data.Handle (Handle, fromHandle, parseHandle) import Data.Id (Id (..), TeamId, UserId, idToText) import Data.Json.Util (UTCTimeMillis, fromUTCTimeMillis, toUTCTimeMillis) -import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text +import Data.Text qualified as Text +import Data.Text.Encoding qualified as Text import Data.Text.Encoding.Error -import qualified Data.Text.Lazy as LText +import Data.Text.Lazy qualified as LText import Data.These import Data.These.Combinators -import qualified Data.UUID as UUID +import Data.UUID qualified as UUID import Imports import Network.URI (URI, parseURI) import Polysemy import Polysemy.Error (Error, runError, throw) import Polysemy.Input -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML import Spar.App (getUserByUrefUnsafe, getUserByUrefViaOldIssuerUnsafe, getUserIdByScimExternalId) import qualified Spar.App import Spar.Intra.BrigApp as Intra -import qualified Spar.Intra.BrigApp as Brig +import Spar.Intra.BrigApp qualified as Brig import Spar.Options import Spar.Scim.Auth () import Spar.Scim.Types -import qualified Spar.Scim.Types as ST +import Spar.Scim.Types qualified as ST import Spar.Sem.BrigAccess (BrigAccess, getAccount) -import qualified Spar.Sem.BrigAccess as BrigAccess +import Spar.Sem.BrigAccess qualified as BrigAccess import Spar.Sem.GalleyAccess as GalleyAccess import Spar.Sem.IdPConfigStore (IdPConfigStore) -import qualified Spar.Sem.IdPConfigStore as IdPConfigStore +import Spar.Sem.IdPConfigStore qualified as IdPConfigStore import Spar.Sem.SAMLUserStore (SAMLUserStore) -import qualified Spar.Sem.SAMLUserStore as SAMLUserStore +import Spar.Sem.SAMLUserStore qualified as SAMLUserStore import Spar.Sem.ScimExternalIdStore (ScimExternalIdStore) -import qualified Spar.Sem.ScimExternalIdStore as ScimExternalIdStore +import Spar.Sem.ScimExternalIdStore qualified as ScimExternalIdStore import Spar.Sem.ScimUserTimesStore (ScimUserTimesStore) -import qualified Spar.Sem.ScimUserTimesStore as ScimUserTimesStore -import qualified System.Logger.Class as Log +import Spar.Sem.ScimUserTimesStore qualified as ScimUserTimesStore +import System.Logger.Class qualified as Log import System.Logger.Message (Msg) -import qualified URI.ByteString as URIBS +import URI.ByteString qualified as URIBS import Util.Logging (logFunction, logHandle, logTeam, logUser, sha256String) -import qualified Web.Scim.Class.User as Scim +import Web.Scim.Class.User qualified as Scim import Web.Scim.Filter (Filter (..), rAttrPath, rCompareOp) -import qualified Web.Scim.Filter as Scim -import qualified Web.Scim.Handler as Scim -import qualified Web.Scim.Schema.Common as Scim -import qualified Web.Scim.Schema.Error as Scim -import qualified Web.Scim.Schema.ListResponse as Scim -import qualified Web.Scim.Schema.Meta as Scim -import qualified Web.Scim.Schema.ResourceType as Scim -import qualified Web.Scim.Schema.User as Scim -import qualified Web.Scim.Schema.User as Scim.User (schemas) -import qualified Web.Scim.Schema.User.Email as Scim.Email -import qualified Wire.API.Team.Member as Member +import Web.Scim.Filter qualified as Scim +import Web.Scim.Handler qualified as Scim +import Web.Scim.Schema.Common qualified as Scim +import Web.Scim.Schema.Error qualified as Scim +import Web.Scim.Schema.ListResponse qualified as Scim +import Web.Scim.Schema.Meta qualified as Scim +import Web.Scim.Schema.ResourceType qualified as Scim +import Web.Scim.Schema.User qualified as Scim +import Web.Scim.Schema.User qualified as Scim.User (schemas) +import Web.Scim.Schema.User.Email qualified as Scim.Email +import Wire.API.Team.Member qualified as Member import Wire.API.Team.Role import Wire.API.User import Wire.API.User.IdentityProvider (IdP) -import qualified Wire.API.User.RichInfo as RI +import Wire.API.User.RichInfo qualified as RI import Wire.API.User.Scim (ScimTokenInfo (..), ValidScimId (..)) -import qualified Wire.API.User.Scim as ST +import Wire.API.User.Scim qualified as ST import Wire.Sem.Logger (Logger) -import qualified Wire.Sem.Logger as Logger +import Wire.Sem.Logger qualified as Logger import Wire.Sem.Now (Now) -import qualified Wire.Sem.Now as Now +import Wire.Sem.Now qualified as Now import Wire.Sem.Random (Random) -import qualified Wire.Sem.Random as Random +import Wire.Sem.Random qualified as Random ---------------------------------------------------------------------------- -- UserDB instance diff --git a/services/spar/src/Spar/Sem/AReqIDStore.hs b/services/spar/src/Spar/Sem/AReqIDStore.hs index 7b5b20b1db..59c20c36bf 100644 --- a/services/spar/src/Spar/Sem/AReqIDStore.hs +++ b/services/spar/src/Spar/Sem/AReqIDStore.hs @@ -28,7 +28,7 @@ where import Imports import Polysemy import SAML2.WebSSO.Types (Issuer) -import qualified SAML2.WebSSO.Types as SAML +import SAML2.WebSSO.Types qualified as SAML import Wire.API.User.Saml (AReqId) data AReqIDStore m a where diff --git a/services/spar/src/Spar/Sem/AReqIDStore/Cassandra.hs b/services/spar/src/Spar/Sem/AReqIDStore/Cassandra.hs index ad6d8c3e1f..979231c5a6 100644 --- a/services/spar/src/Spar/Sem/AReqIDStore/Cassandra.hs +++ b/services/spar/src/Spar/Sem/AReqIDStore/Cassandra.hs @@ -30,14 +30,14 @@ import Imports import Polysemy import Polysemy.Error import Polysemy.Input (Input, input) -import qualified SAML2.WebSSO as SAML -import qualified Spar.Data as Data +import SAML2.WebSSO qualified as SAML +import Spar.Data qualified as Data import Spar.Data.Instances () import Spar.Options import Spar.Sem.AReqIDStore import Wire.API.User.Saml import Wire.Sem.Now (Now) -import qualified Wire.Sem.Now as Now +import Wire.Sem.Now qualified as Now aReqIDStoreToCassandra :: forall m r a. diff --git a/services/spar/src/Spar/Sem/AReqIDStore/Mem.hs b/services/spar/src/Spar/Sem/AReqIDStore/Mem.hs index 84342987ca..bf873eef95 100644 --- a/services/spar/src/Spar/Sem/AReqIDStore/Mem.hs +++ b/services/spar/src/Spar/Sem/AReqIDStore/Mem.hs @@ -22,12 +22,12 @@ module Spar.Sem.AReqIDStore.Mem ) where -import qualified Data.Map as M +import Data.Map qualified as M import Imports import Polysemy import Polysemy.State import SAML2.WebSSO.Types (Issuer) -import qualified SAML2.WebSSO.Types as SAML +import SAML2.WebSSO.Types qualified as SAML import Spar.Sem.AReqIDStore import Wire.API.User.Saml (AReqId) import Wire.Sem.Now diff --git a/services/spar/src/Spar/Sem/AssIDStore.hs b/services/spar/src/Spar/Sem/AssIDStore.hs index dd5ece2dc1..5004f76c8d 100644 --- a/services/spar/src/Spar/Sem/AssIDStore.hs +++ b/services/spar/src/Spar/Sem/AssIDStore.hs @@ -27,7 +27,7 @@ where import Imports import Polysemy -import qualified SAML2.WebSSO.Types as SAML +import SAML2.WebSSO.Types qualified as SAML import Wire.API.User.Saml (AssId) data AssIDStore m a where diff --git a/services/spar/src/Spar/Sem/AssIDStore/Cassandra.hs b/services/spar/src/Spar/Sem/AssIDStore/Cassandra.hs index 8f62d34ae6..c9a415cc5d 100644 --- a/services/spar/src/Spar/Sem/AssIDStore/Cassandra.hs +++ b/services/spar/src/Spar/Sem/AssIDStore/Cassandra.hs @@ -30,14 +30,14 @@ import Imports import Polysemy import Polysemy.Error import Polysemy.Input -import qualified SAML2.WebSSO as SAML -import qualified Spar.Data as Data +import SAML2.WebSSO qualified as SAML +import Spar.Data qualified as Data import Spar.Data.Instances () import Spar.Options import Spar.Sem.AssIDStore import Wire.API.User.Saml import Wire.Sem.Now (Now) -import qualified Wire.Sem.Now as Now +import Wire.Sem.Now qualified as Now assIDStoreToCassandra :: forall m r a. diff --git a/services/spar/src/Spar/Sem/AssIDStore/Mem.hs b/services/spar/src/Spar/Sem/AssIDStore/Mem.hs index 01a7163083..878b356c5a 100644 --- a/services/spar/src/Spar/Sem/AssIDStore/Mem.hs +++ b/services/spar/src/Spar/Sem/AssIDStore/Mem.hs @@ -22,11 +22,11 @@ module Spar.Sem.AssIDStore.Mem ) where -import qualified Data.Map as M +import Data.Map qualified as M import Imports import Polysemy import Polysemy.State -import qualified SAML2.WebSSO.Types as SAML +import SAML2.WebSSO.Types qualified as SAML import Spar.Sem.AssIDStore import Wire.API.User.Saml (AssId) import Wire.Sem.Now diff --git a/services/spar/src/Spar/Sem/BrigAccess.hs b/services/spar/src/Spar/Sem/BrigAccess.hs index 8530786359..93fffba948 100644 --- a/services/spar/src/Spar/Sem/BrigAccess.hs +++ b/services/spar/src/Spar/Sem/BrigAccess.hs @@ -52,7 +52,7 @@ import Data.Id (TeamId, UserId) import Data.Misc (PlainTextPassword6) import Imports import Polysemy -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML import Web.Cookie import Wire.API.Locale import Wire.API.Team.Role diff --git a/services/spar/src/Spar/Sem/BrigAccess/Http.hs b/services/spar/src/Spar/Sem/BrigAccess/Http.hs index b3623597d3..8058f06092 100644 --- a/services/spar/src/Spar/Sem/BrigAccess/Http.hs +++ b/services/spar/src/Spar/Sem/BrigAccess/Http.hs @@ -25,10 +25,10 @@ import Imports import Polysemy import Polysemy.Error (Error) import Spar.Error (SparError) -import qualified Spar.Intra.Brig as Intra +import Spar.Intra.Brig qualified as Intra import Spar.Sem.BrigAccess import Spar.Sem.Utils (RunHttpEnv (..), viaRunHttp) -import qualified System.Logger as TinyLog +import System.Logger qualified as TinyLog import Wire.Sem.Logger (Logger) brigAccessToHttp :: diff --git a/services/spar/src/Spar/Sem/DefaultSsoCode.hs b/services/spar/src/Spar/Sem/DefaultSsoCode.hs index 5949f85970..6213f402ba 100644 --- a/services/spar/src/Spar/Sem/DefaultSsoCode.hs +++ b/services/spar/src/Spar/Sem/DefaultSsoCode.hs @@ -28,7 +28,7 @@ where import Imports import Polysemy import Polysemy.Check (deriveGenericK) -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML data DefaultSsoCode m a where Get :: DefaultSsoCode m (Maybe SAML.IdPId) diff --git a/services/spar/src/Spar/Sem/DefaultSsoCode/Cassandra.hs b/services/spar/src/Spar/Sem/DefaultSsoCode/Cassandra.hs index 680c8c0ec7..ea5f6aaf24 100644 --- a/services/spar/src/Spar/Sem/DefaultSsoCode/Cassandra.hs +++ b/services/spar/src/Spar/Sem/DefaultSsoCode/Cassandra.hs @@ -27,7 +27,7 @@ where import Cassandra import Imports import Polysemy -import qualified SAML2.WebSSO.Types as SAML +import SAML2.WebSSO.Types qualified as SAML import Spar.Data.Instances () import Spar.Sem.DefaultSsoCode import {- instance Cql SAML.IdPId -} Wire.DomainRegistrationStore.Cassandra () diff --git a/services/spar/src/Spar/Sem/DefaultSsoCode/Mem.hs b/services/spar/src/Spar/Sem/DefaultSsoCode/Mem.hs index c684eaa1a6..b50f0b12dc 100644 --- a/services/spar/src/Spar/Sem/DefaultSsoCode/Mem.hs +++ b/services/spar/src/Spar/Sem/DefaultSsoCode/Mem.hs @@ -25,7 +25,7 @@ where import Imports import Polysemy import Polysemy.State (get, put, runState) -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML import Spar.Sem.DefaultSsoCode (DefaultSsoCode (..)) defaultSsoCodeToMem :: Sem (DefaultSsoCode ': r) a -> Sem r (Maybe SAML.IdPId, a) diff --git a/services/spar/src/Spar/Sem/DefaultSsoCode/Spec.hs b/services/spar/src/Spar/Sem/DefaultSsoCode/Spec.hs index 3f83e9b345..ffe59350b3 100644 --- a/services/spar/src/Spar/Sem/DefaultSsoCode/Spec.hs +++ b/services/spar/src/Spar/Sem/DefaultSsoCode/Spec.hs @@ -24,7 +24,7 @@ import Imports import Polysemy import Polysemy.Check import SAML2.WebSSO.Types -import qualified Spar.Sem.DefaultSsoCode as E +import Spar.Sem.DefaultSsoCode qualified as E import Test.Hspec import Test.Hspec.QuickCheck import Test.QuickCheck diff --git a/services/spar/src/Spar/Sem/GalleyAccess/Http.hs b/services/spar/src/Spar/Sem/GalleyAccess/Http.hs index 793bac9c27..5903878e31 100644 --- a/services/spar/src/Spar/Sem/GalleyAccess/Http.hs +++ b/services/spar/src/Spar/Sem/GalleyAccess/Http.hs @@ -27,10 +27,10 @@ import Imports hiding (log) import Polysemy import Polysemy.Error import Spar.Error (SparError) -import qualified Spar.Intra.Galley as Intra +import Spar.Intra.Galley qualified as Intra import Spar.Sem.GalleyAccess import Spar.Sem.Utils -import qualified System.Logger as TinyLog +import System.Logger qualified as TinyLog import Wire.Sem.Logger (Logger) galleyAccessToHttp :: diff --git a/services/spar/src/Spar/Sem/IdPConfigStore.hs b/services/spar/src/Spar/Sem/IdPConfigStore.hs index bd7cb02298..d3aea49017 100644 --- a/services/spar/src/Spar/Sem/IdPConfigStore.hs +++ b/services/spar/src/Spar/Sem/IdPConfigStore.hs @@ -40,8 +40,8 @@ import Data.Id import Imports import Polysemy import Polysemy.Check (deriveGenericK) -import qualified SAML2.WebSSO as SAML -import qualified Wire.API.User.IdentityProvider as IP +import SAML2.WebSSO qualified as SAML +import Wire.API.User.IdentityProvider qualified as IP newtype Replaced = Replaced SAML.IdPId deriving (Eq, Ord, Show) diff --git a/services/spar/src/Spar/Sem/IdPConfigStore/Cassandra.hs b/services/spar/src/Spar/Sem/IdPConfigStore/Cassandra.hs index ca771dbab7..8242a2dca6 100644 --- a/services/spar/src/Spar/Sem/IdPConfigStore/Cassandra.hs +++ b/services/spar/src/Spar/Sem/IdPConfigStore/Cassandra.hs @@ -27,20 +27,20 @@ import Cassandra import Control.Lens ((^.)) import Control.Monad.Except import Data.Id -import qualified Data.List.NonEmpty as NL +import Data.List.NonEmpty qualified as NL import Data.Text (pack) import Data.X509 (SignedCertificate) import Imports import Polysemy import Polysemy.Error (Error, throw) -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML import Spar.Data.Instances () import Spar.Error import Spar.Sem.IdPConfigStore (IdPConfigStore (..), Replaced (..), Replacing (..)) import URI.ByteString import Wire.API.Routes.Public (ZHostValue) import Wire.API.User.IdentityProvider hiding (apiVersion, oldIssuers, replacedBy, team) -import qualified Wire.API.User.IdentityProvider as IP +import Wire.API.User.IdentityProvider qualified as IP import {- instance Cql SAML.IdPId -} Wire.DomainRegistrationStore.Cassandra () idPToCassandra :: diff --git a/services/spar/src/Spar/Sem/IdPConfigStore/Mem.hs b/services/spar/src/Spar/Sem/IdPConfigStore/Mem.hs index a7f0ff7c4f..06e42aff28 100644 --- a/services/spar/src/Spar/Sem/IdPConfigStore/Mem.hs +++ b/services/spar/src/Spar/Sem/IdPConfigStore/Mem.hs @@ -21,15 +21,15 @@ module Spar.Sem.IdPConfigStore.Mem (idPToMem, TypedState) where import Control.Lens ((.~), (^.)) import Data.Id (TeamId) -import qualified Data.Map as M +import Data.Map qualified as M import Imports import Polysemy import Polysemy.State -import qualified SAML2.WebSSO.Types as SAML +import SAML2.WebSSO.Types qualified as SAML import Spar.Sem.IdPConfigStore (IdPConfigStore (..), Replaced (..), Replacing (..)) import Wire.API.User.IdentityProvider (IdPHandle (IdPHandle)) -import qualified Wire.API.User.IdentityProvider as IP -import qualified Wire.API.User.IdentityProvider as SAML +import Wire.API.User.IdentityProvider qualified as IP +import Wire.API.User.IdentityProvider qualified as SAML type TypedState = Map SAML.IdPId IP.IdP diff --git a/services/spar/src/Spar/Sem/IdPRawMetadataStore.hs b/services/spar/src/Spar/Sem/IdPRawMetadataStore.hs index d6425df9ca..78b07082af 100644 --- a/services/spar/src/Spar/Sem/IdPRawMetadataStore.hs +++ b/services/spar/src/Spar/Sem/IdPRawMetadataStore.hs @@ -28,7 +28,7 @@ where import Imports import Polysemy import Polysemy.Check (deriveGenericK) -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML data IdPRawMetadataStore m a where Store :: SAML.IdPId -> Text -> IdPRawMetadataStore m () diff --git a/services/spar/src/Spar/Sem/IdPRawMetadataStore/Cassandra.hs b/services/spar/src/Spar/Sem/IdPRawMetadataStore/Cassandra.hs index 812442d958..1947efed66 100644 --- a/services/spar/src/Spar/Sem/IdPRawMetadataStore/Cassandra.hs +++ b/services/spar/src/Spar/Sem/IdPRawMetadataStore/Cassandra.hs @@ -27,7 +27,7 @@ import Cassandra as Cas import Control.Lens import Imports import Polysemy -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML import Spar.Data.Instances () import Spar.Sem.IdPRawMetadataStore import {- instance Cql SAML.IdPId -} Wire.DomainRegistrationStore.Cassandra () diff --git a/services/spar/src/Spar/Sem/IdPRawMetadataStore/Mem.hs b/services/spar/src/Spar/Sem/IdPRawMetadataStore/Mem.hs index ace943c0a3..d172aa21ee 100644 --- a/services/spar/src/Spar/Sem/IdPRawMetadataStore/Mem.hs +++ b/services/spar/src/Spar/Sem/IdPRawMetadataStore/Mem.hs @@ -19,11 +19,11 @@ module Spar.Sem.IdPRawMetadataStore.Mem (idpRawMetadataStoreToMem, RawState) where -import qualified Data.Map as M +import Data.Map qualified as M import Imports import Polysemy import Polysemy.State (State, gets, modify, runState) -import qualified SAML2.WebSSO.Types as SAML +import SAML2.WebSSO.Types qualified as SAML import Spar.Sem.IdPRawMetadataStore type RawState = Map SAML.IdPId Text diff --git a/services/spar/src/Spar/Sem/IdPRawMetadataStore/Spec.hs b/services/spar/src/Spar/Sem/IdPRawMetadataStore/Spec.hs index 1a8805e8af..7b085b95ec 100644 --- a/services/spar/src/Spar/Sem/IdPRawMetadataStore/Spec.hs +++ b/services/spar/src/Spar/Sem/IdPRawMetadataStore/Spec.hs @@ -24,7 +24,7 @@ import Imports import Polysemy import Polysemy.Check import SAML2.WebSSO.Types (IdPId) -import qualified Spar.Sem.IdPRawMetadataStore as E +import Spar.Sem.IdPRawMetadataStore qualified as E import Test.Hspec import Test.Hspec.QuickCheck import Test.QuickCheck diff --git a/services/spar/src/Spar/Sem/Reporter.hs b/services/spar/src/Spar/Sem/Reporter.hs index 77d71f0dce..b96f0099d1 100644 --- a/services/spar/src/Spar/Sem/Reporter.hs +++ b/services/spar/src/Spar/Sem/Reporter.hs @@ -24,7 +24,7 @@ module Spar.Sem.Reporter where import Imports -import qualified Network.Wai as Wai +import Network.Wai qualified as Wai import Network.Wai.Utilities.Error (Error) import Polysemy diff --git a/services/spar/src/Spar/Sem/Reporter/Wai.hs b/services/spar/src/Spar/Sem/Reporter/Wai.hs index e2d0b66ef6..45108e34aa 100644 --- a/services/spar/src/Spar/Sem/Reporter/Wai.hs +++ b/services/spar/src/Spar/Sem/Reporter/Wai.hs @@ -21,11 +21,11 @@ module Spar.Sem.Reporter.Wai where import Imports -import qualified Network.Wai.Utilities.Server as Wai +import Network.Wai.Utilities.Server qualified as Wai import Polysemy import Polysemy.Input import Spar.Sem.Reporter -import qualified System.Logger as TinyLog +import System.Logger qualified as TinyLog reporterToTinyLogWai :: ( Member (Embed IO) r, diff --git a/services/spar/src/Spar/Sem/SAML2/Library.hs b/services/spar/src/Spar/Sem/SAML2/Library.hs index 78e8c08c3c..89d3517caa 100644 --- a/services/spar/src/Spar/Sem/SAML2/Library.hs +++ b/services/spar/src/Spar/Sem/SAML2/Library.hs @@ -21,10 +21,10 @@ module Spar.Sem.SAML2.Library (saml2ToSaml2WebSso) where -import qualified Control.Monad.Catch as Catch +import Control.Monad.Catch qualified as Catch import Control.Monad.Except import Data.Id (TeamId) -import qualified Data.Text.Lazy as LText +import Data.Text.Lazy qualified as LText import Imports import Polysemy import Polysemy.Error @@ -32,19 +32,19 @@ import Polysemy.Final import Polysemy.Input import Polysemy.Internal.Tactics import SAML2.WebSSO hiding (Error) -import qualified SAML2.WebSSO as SAML hiding (Error) +import SAML2.WebSSO qualified as SAML hiding (Error) import Spar.Error (SparCustomError (..), SparError) import Spar.Options import Spar.Sem.AReqIDStore (AReqIDStore) -import qualified Spar.Sem.AReqIDStore as AReqIDStore +import Spar.Sem.AReqIDStore qualified as AReqIDStore import Spar.Sem.AssIDStore (AssIDStore) -import qualified Spar.Sem.AssIDStore as AssIDStore +import Spar.Sem.AssIDStore qualified as AssIDStore import Spar.Sem.IdPConfigStore (IdPConfigStore) -import qualified Spar.Sem.IdPConfigStore as IdPConfigStore +import Spar.Sem.IdPConfigStore qualified as IdPConfigStore import Spar.Sem.SAML2 import Wire.API.User.IdentityProvider (WireIdP) import Wire.Sem.Logger (Logger) -import qualified Wire.Sem.Logger as Logger +import Wire.Sem.Logger qualified as Logger wrapMonadClientSPImpl :: ( Member (Error SparError) r, diff --git a/services/spar/src/Spar/Sem/SAMLUserStore.hs b/services/spar/src/Spar/Sem/SAMLUserStore.hs index c23f047cff..259b933720 100644 --- a/services/spar/src/Spar/Sem/SAMLUserStore.hs +++ b/services/spar/src/Spar/Sem/SAMLUserStore.hs @@ -32,7 +32,7 @@ import Cassandra (Page) import Data.Id import Imports import Polysemy -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML data SAMLUserStore m a where Insert :: SAML.UserRef -> UserId -> SAMLUserStore m () diff --git a/services/spar/src/Spar/Sem/SAMLUserStore/Cassandra.hs b/services/spar/src/Spar/Sem/SAMLUserStore/Cassandra.hs index 3436a83acd..e89761b0e6 100644 --- a/services/spar/src/Spar/Sem/SAMLUserStore/Cassandra.hs +++ b/services/spar/src/Spar/Sem/SAMLUserStore/Cassandra.hs @@ -30,8 +30,8 @@ import Control.Lens import Data.Id import Imports import Polysemy -import qualified SAML2.WebSSO as SAML -import qualified Spar.Data as Data +import SAML2.WebSSO qualified as SAML +import Spar.Data qualified as Data import Spar.Data.Instances () import Spar.Sem.SAMLUserStore diff --git a/services/spar/src/Spar/Sem/SAMLUserStore/Mem.hs b/services/spar/src/Spar/Sem/SAMLUserStore/Mem.hs index 131ae26681..2f9efc0525 100644 --- a/services/spar/src/Spar/Sem/SAMLUserStore/Mem.hs +++ b/services/spar/src/Spar/Sem/SAMLUserStore/Mem.hs @@ -25,12 +25,12 @@ where import Control.Lens (view) import Data.Id -import qualified Data.Map as M +import Data.Map qualified as M import Imports import Polysemy import Polysemy.State (gets, modify, runState) import SAML2.WebSSO (uidTenant) -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML import Spar.Sem.SAMLUserStore newtype UserRefOrd = UserRefOrd {unUserRefOrd :: SAML.UserRef} diff --git a/services/spar/src/Spar/Sem/SamlProtocolSettings.hs b/services/spar/src/Spar/Sem/SamlProtocolSettings.hs index 8b0bb3f34c..98c0e758f7 100644 --- a/services/spar/src/Spar/Sem/SamlProtocolSettings.hs +++ b/services/spar/src/Spar/Sem/SamlProtocolSettings.hs @@ -29,8 +29,8 @@ import Data.Domain import Data.Id (TeamId) import Imports import Polysemy -import qualified SAML2.WebSSO.Types as SAML -import qualified URI.ByteString as URI +import SAML2.WebSSO.Types qualified as SAML +import URI.ByteString qualified as URI data SamlProtocolSettings m a where SpIssuer :: Maybe TeamId -> Maybe Domain -> SamlProtocolSettings m (Maybe SAML.Issuer) diff --git a/services/spar/src/Spar/Sem/SamlProtocolSettings/Servant.hs b/services/spar/src/Spar/Sem/SamlProtocolSettings/Servant.hs index 787700a46a..aea0d9da80 100644 --- a/services/spar/src/Spar/Sem/SamlProtocolSettings/Servant.hs +++ b/services/spar/src/Spar/Sem/SamlProtocolSettings/Servant.hs @@ -25,7 +25,7 @@ where import Imports import Polysemy -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML import Spar.Sem.SamlProtocolSettings import Wire.API.Routes.Public.Spar diff --git a/services/spar/src/Spar/Sem/ScimExternalIdStore/Mem.hs b/services/spar/src/Spar/Sem/ScimExternalIdStore/Mem.hs index 5ab14ccd4a..0c2203e044 100644 --- a/services/spar/src/Spar/Sem/ScimExternalIdStore/Mem.hs +++ b/services/spar/src/Spar/Sem/ScimExternalIdStore/Mem.hs @@ -23,7 +23,7 @@ module Spar.Sem.ScimExternalIdStore.Mem where import Data.Id (TeamId, UserId) -import qualified Data.Map as M +import Data.Map qualified as M import Imports import Polysemy import Polysemy.State diff --git a/services/spar/src/Spar/Sem/ScimExternalIdStore/Spec.hs b/services/spar/src/Spar/Sem/ScimExternalIdStore/Spec.hs index eab1ba7d47..8e11fd35f6 100644 --- a/services/spar/src/Spar/Sem/ScimExternalIdStore/Spec.hs +++ b/services/spar/src/Spar/Sem/ScimExternalIdStore/Spec.hs @@ -25,7 +25,7 @@ import Imports import Polysemy import Polysemy.Check import Spar.Scim.Types (ScimUserCreationStatus) -import qualified Spar.Sem.ScimExternalIdStore as E +import Spar.Sem.ScimExternalIdStore qualified as E import Test.Hspec import Test.Hspec.QuickCheck import Test.QuickCheck diff --git a/services/spar/src/Spar/Sem/ScimTokenStore/Cassandra.hs b/services/spar/src/Spar/Sem/ScimTokenStore/Cassandra.hs index d708b2f011..5c79ec92c3 100644 --- a/services/spar/src/Spar/Sem/ScimTokenStore/Cassandra.hs +++ b/services/spar/src/Spar/Sem/ScimTokenStore/Cassandra.hs @@ -29,7 +29,7 @@ import Data.Id import Data.Time import Imports import Polysemy -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML import Spar.Data.Instances () import Spar.Sem.ScimTokenStore import Text.RawString.QQ diff --git a/services/spar/src/Spar/Sem/ScimTokenStore/Mem.hs b/services/spar/src/Spar/Sem/ScimTokenStore/Mem.hs index 48b869fb0f..2b0f17b4b7 100644 --- a/services/spar/src/Spar/Sem/ScimTokenStore/Mem.hs +++ b/services/spar/src/Spar/Sem/ScimTokenStore/Mem.hs @@ -22,7 +22,7 @@ module Spar.Sem.ScimTokenStore.Mem ) where -import qualified Data.Map as M +import Data.Map qualified as M import Imports import Polysemy import Polysemy.State diff --git a/services/spar/src/Spar/Sem/ScimUserTimesStore/Mem.hs b/services/spar/src/Spar/Sem/ScimUserTimesStore/Mem.hs index fa5f027d8a..695ce1271e 100644 --- a/services/spar/src/Spar/Sem/ScimUserTimesStore/Mem.hs +++ b/services/spar/src/Spar/Sem/ScimUserTimesStore/Mem.hs @@ -24,7 +24,7 @@ where import Data.Id (UserId) import Data.Json.Util (UTCTimeMillis, toUTCTimeMillis) -import qualified Data.Map as M +import Data.Map qualified as M import Imports import Polysemy import Polysemy.State diff --git a/services/spar/src/Spar/Sem/Utils.hs b/services/spar/src/Spar/Sem/Utils.hs index 381b288171..cdccbbbf30 100644 --- a/services/spar/src/Spar/Sem/Utils.hs +++ b/services/spar/src/Spar/Sem/Utils.hs @@ -28,23 +28,23 @@ where import Bilge import Cassandra as Cas -import qualified Control.Monad.Catch as Catch +import Control.Monad.Catch qualified as Catch import Control.Monad.Except (ExceptT (..), MonadError, runExceptT) -import qualified Data.Text.Lazy as LText +import Data.Text.Lazy qualified as LText import Imports hiding (log) import Polysemy import Polysemy.Error import Polysemy.Final -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML import Spar.Error import Spar.Intra.Brig (MonadSparToBrig (..)) import Spar.Intra.Galley (MonadSparToGalley) -import qualified Spar.Intra.Galley as Intra -import qualified System.Logger as TinyLog -import qualified System.Logger.Class as TinyLog +import Spar.Intra.Galley qualified as Intra +import System.Logger qualified as TinyLog +import System.Logger.Class qualified as TinyLog import Wire.API.User.Saml import Wire.Sem.Logger (Logger) -import qualified Wire.Sem.Logger as Logger +import Wire.Sem.Logger qualified as Logger -- | Run an embedded Cassandra 'Client' in @Final IO@. interpretClientToIO :: diff --git a/services/spar/src/Spar/Sem/VerdictFormatStore/Mem.hs b/services/spar/src/Spar/Sem/VerdictFormatStore/Mem.hs index 12ecf2368a..a87cfaf327 100644 --- a/services/spar/src/Spar/Sem/VerdictFormatStore/Mem.hs +++ b/services/spar/src/Spar/Sem/VerdictFormatStore/Mem.hs @@ -22,16 +22,16 @@ module Spar.Sem.VerdictFormatStore.Mem ) where -import qualified Data.Map as M +import Data.Map qualified as M import Imports import Polysemy import Polysemy.State hiding (Get) import SAML2.WebSSO (addTime) -import qualified SAML2.WebSSO.Types as SAML +import SAML2.WebSSO.Types qualified as SAML import Spar.Sem.VerdictFormatStore import Wire.API.User.Saml (AReqId, VerdictFormat) import Wire.Sem.Now (Now, boolTTL) -import qualified Wire.Sem.Now as Now +import Wire.Sem.Now qualified as Now verdictFormatStoreToMem :: (Member Now r) => diff --git a/services/spar/test-integration/Test/LoggingSpec.hs b/services/spar/test-integration/Test/LoggingSpec.hs index 6963808b3d..0c7cc2ffc7 100644 --- a/services/spar/test-integration/Test/LoggingSpec.hs +++ b/services/spar/test-integration/Test/LoggingSpec.hs @@ -24,13 +24,13 @@ import Control.Lens import Data.String.Conversions import Imports import Network.HTTP.Types.Status (statusCode) -import qualified Network.Wai.Test as HW +import Network.Wai.Test qualified as HW import Spar.App import Spar.Run (mkApp) import System.IO.Silently (capture) import System.Logger as Log -import qualified Test.Hspec.Wai as HW -import qualified Test.Hspec.Wai.Internal as HW +import Test.Hspec.Wai qualified as HW +import Test.Hspec.Wai.Internal qualified as HW import Util spec :: SpecWith TestEnv diff --git a/services/spar/test-integration/Test/Spar/APISpec.hs b/services/spar/test-integration/Test/Spar/APISpec.hs index 0212cbd97a..61996285d0 100644 --- a/services/spar/test-integration/Test/Spar/APISpec.hs +++ b/services/spar/test-integration/Test/Spar/APISpec.hs @@ -32,17 +32,17 @@ import Data.ByteString.Conversion import Data.Handle (fromHandle) import Data.Id import Data.List.NonEmpty (NonEmpty ((:|))) -import qualified Data.List.NonEmpty as NonEmpty +import Data.List.NonEmpty qualified as NonEmpty import Data.Misc import Data.Proxy import Data.String.Conversions -import qualified Data.Text as ST -import qualified Data.Text as T +import Data.Text qualified as ST +import Data.Text qualified as T import Data.Text.Ascii (decodeBase64, validateBase64) -import qualified Data.UUID as UUID hiding (fromByteString, null) -import qualified Data.UUID.V4 as UUID (nextRandom) -import qualified Data.Vector as Vec -import qualified Data.ZAuth.Token as ZAuth +import Data.UUID qualified as UUID hiding (fromByteString, null) +import Data.UUID.V4 qualified as UUID (nextRandom) +import Data.Vector qualified as Vec +import Data.ZAuth.Token qualified as ZAuth import Imports hiding (head) import Network.HTTP.Types (status200, status202) import SAML2.WebSSO @@ -65,29 +65,29 @@ import SAML2.WebSSO rqIssuer, (-/), ) -import qualified SAML2.WebSSO as SAML +import SAML2.WebSSO qualified as SAML import SAML2.WebSSO.API.Example (SimpleSP) import SAML2.WebSSO.Test.Lenses import SAML2.WebSSO.Test.MockResponse import SAML2.WebSSO.Test.Util -import qualified Spar.Intra.BrigApp as Intra +import Spar.Intra.BrigApp qualified as Intra import Spar.Options -import qualified Spar.Sem.AReqIDStore as AReqIDStore -import qualified Spar.Sem.BrigAccess as BrigAccess -import qualified Spar.Sem.IdPConfigStore as IdPEffect +import Spar.Sem.AReqIDStore qualified as AReqIDStore +import Spar.Sem.BrigAccess qualified as BrigAccess +import Spar.Sem.IdPConfigStore qualified as IdPEffect import Text.XML.DSig (SignPrivCreds, mkSignCredsWithCert) -import qualified URI.ByteString as URI +import URI.ByteString qualified as URI import URI.ByteString.QQ (uri) import Util.Core import Util.Scim (createUser, filterBy, listUsers, randomScimUserWithEmail, randomScimUserWithNick, registerScimToken) -import qualified Util.Scim as ScimT +import Util.Scim qualified as ScimT import Util.Types -import qualified Web.Cookie as Cky -import qualified Web.Scim.Class.User as Scim -import qualified Web.Scim.Schema.Common as Scim -import qualified Web.Scim.Schema.Meta as Scim -import qualified Web.Scim.Schema.User as Scim -import qualified Web.Scim.Schema.User.Email as Scim +import Web.Cookie qualified as Cky +import Web.Scim.Class.User qualified as Scim +import Web.Scim.Schema.Common qualified as Scim +import Web.Scim.Schema.Meta qualified as Scim +import Web.Scim.Schema.User qualified as Scim +import Web.Scim.Schema.User.Email qualified as Scim import Wire.API.Team.Member (newTeamMemberDeleteData, rolePermissions) import Wire.API.Team.Permission hiding (self) import Wire.API.Team.Role diff --git a/services/spar/test-integration/Test/Spar/AppSpec.hs b/services/spar/test-integration/Test/Spar/AppSpec.hs index 07263bbb35..bd58597224 100644 --- a/services/spar/test-integration/Test/Spar/AppSpec.hs +++ b/services/spar/test-integration/Test/Spar/AppSpec.hs @@ -25,25 +25,25 @@ where import Bilge import Control.Lens -import qualified Data.ByteString.Builder as Builder +import Data.ByteString.Builder qualified as Builder import Data.Id -import qualified Data.List as List +import Data.List qualified as List import Data.String.Conversions import Imports import SAML2.WebSSO as SAML -import qualified SAML2.WebSSO.Test.MockResponse as SAML +import SAML2.WebSSO.Test.MockResponse qualified as SAML import qualified Servant -import qualified Spar.App as Spar +import Spar.App qualified as Spar import Spar.Orphans () -import qualified Spar.Sem.SAMLUserStore as SAMLUserStore -import qualified Text.XML as XML -import qualified Text.XML.DSig as DSig +import Spar.Sem.SAMLUserStore qualified as SAMLUserStore +import Text.XML qualified as XML +import Text.XML.DSig qualified as DSig import URI.ByteString as URI import URI.ByteString.QQ (uri) import Util import Web.Cookie import Wire.API.User.IdentityProvider (IdP) -import qualified Wire.API.User.IdentityProvider as User +import Wire.API.User.IdentityProvider qualified as User spec :: SpecWith TestEnv spec = describe "accessVerdict" $ do diff --git a/services/spar/test-integration/Test/Spar/DataSpec.hs b/services/spar/test-integration/Test/Spar/DataSpec.hs index ec4b589145..64c38b3b5f 100644 --- a/services/spar/test-integration/Test/Spar/DataSpec.hs +++ b/services/spar/test-integration/Test/Spar/DataSpec.hs @@ -31,12 +31,12 @@ import Spar.App as App import Spar.Error (IdpDbError (IdpNotFound), SparCustomError (IdpDbError)) import Spar.Intra.BrigApp (veidFromUserSSOId) import Spar.Options -import qualified Spar.Sem.AReqIDStore as AReqIDStore -import qualified Spar.Sem.AssIDStore as AssIDStore -import qualified Spar.Sem.IdPConfigStore as IdPEffect -import qualified Spar.Sem.SAMLUserStore as SAMLUserStore -import qualified Spar.Sem.ScimTokenStore as ScimTokenStore -import qualified Spar.Sem.VerdictFormatStore as VerdictFormatStore +import Spar.Sem.AReqIDStore qualified as AReqIDStore +import Spar.Sem.AssIDStore qualified as AssIDStore +import Spar.Sem.IdPConfigStore qualified as IdPEffect +import Spar.Sem.SAMLUserStore qualified as SAMLUserStore +import Spar.Sem.ScimTokenStore qualified as ScimTokenStore +import Spar.Sem.VerdictFormatStore qualified as VerdictFormatStore import Type.Reflection (typeRep) import URI.ByteString.QQ (uri) import Util.Core diff --git a/services/spar/test-integration/Test/Spar/Intra/BrigSpec.hs b/services/spar/test-integration/Test/Spar/Intra/BrigSpec.hs index c97ad084a9..edbef69a10 100644 --- a/services/spar/test-integration/Test/Spar/Intra/BrigSpec.hs +++ b/services/spar/test-integration/Test/Spar/Intra/BrigSpec.hs @@ -22,14 +22,14 @@ where import Control.Lens ((^.)) import Data.Id (Id (Id), UserId) -import qualified Data.UUID as UUID +import Data.UUID qualified as UUID import Imports hiding (head) -import qualified Spar.Intra.BrigApp as Intra +import Spar.Intra.BrigApp qualified as Intra import Spar.Sem.BrigAccess (getAccount) -import qualified Spar.Sem.BrigAccess as BrigAccess +import Spar.Sem.BrigAccess qualified as BrigAccess import Test.QuickCheck import Util -import qualified Web.Scim.Schema.User as Scim.User +import Web.Scim.Schema.User qualified as Scim.User import Wire.API.User (DeleteUserResult (..), fromEmail) spec :: SpecWith TestEnv diff --git a/services/spar/test-integration/Test/Spar/Scim/AuthSpec.hs b/services/spar/test-integration/Test/Spar/Scim/AuthSpec.hs index bbec16bdc2..c4fac47b04 100644 --- a/services/spar/test-integration/Test/Spar/Scim/AuthSpec.hs +++ b/services/spar/test-integration/Test/Spar/Scim/AuthSpec.hs @@ -31,9 +31,9 @@ import Bilge.Assert import Cassandra as Cas import Control.Lens import Data.Aeson (encode) -import qualified Data.ByteString.Base64 as ES +import Data.ByteString.Base64 qualified as ES import Data.ByteString.Conversion (toByteString') -import qualified Data.Code as Code +import Data.Code qualified as Code import Data.Id (ScimTokenId, TeamId, UserId, randomId) import Data.Misc import Data.Range (unsafeRange) @@ -43,17 +43,17 @@ import Data.Time (UTCTime) import Data.Time.Clock (getCurrentTime) import Imports import OpenSSL.Random (randBytes) -import qualified SAML2.WebSSO as SAML -import qualified SAML2.WebSSO.Test.Util as SAML +import SAML2.WebSSO qualified as SAML +import SAML2.WebSSO.Test.Util qualified as SAML import Spar.Scim import Text.RawString.QQ (r) import Util import Wire.API.Team.Feature (featureNameBS) -import qualified Wire.API.Team.Feature as Public +import Wire.API.Team.Feature qualified as Public import Wire.API.Team.Member (rolePermissions) import Wire.API.Team.Role import Wire.API.User (userEmail) -import qualified Wire.API.User as Public +import Wire.API.User qualified as Public import Wire.API.User.Identity -- | Tests for authentication and operations with provisioning tokens ('ScimToken's). diff --git a/services/spar/test-integration/Test/Spar/Scim/UserSpec.hs b/services/spar/test-integration/Test/Spar/Scim/UserSpec.hs index 48a631f3a2..8775c79569 100644 --- a/services/spar/test-integration/Test/Spar/Scim/UserSpec.hs +++ b/services/spar/test-integration/Test/Spar/Scim/UserSpec.hs @@ -37,14 +37,14 @@ import Control.Monad.Random (randomRIO) import Control.Monad.Trans.Except import Control.Monad.Trans.Maybe import qualified Data.Aeson -import qualified Data.Aeson as Aeson +import Data.Aeson qualified as Aeson import Data.Aeson.Lens (key, _String) import Data.Aeson.QQ (aesonQQ) import Data.Aeson.Types (fromJSON, toJSON) import Data.ByteString (toStrict) import Data.ByteString.Conversion -import qualified Data.CaseInsensitive as CI -import qualified Data.Csv as Csv +import Data.CaseInsensitive qualified as CI +import Data.Csv qualified as Csv import Data.Handle (Handle, fromHandle, parseHandle, parseHandleEither) import Data.HavePendingInvitations import Data.Id (TeamId, UserId, idToText, randomId) @@ -53,49 +53,49 @@ import Data.LanguageCodes (ISO639_1 (..)) import Data.Misc (HttpsUrl, mkHttpsUrl) import Data.String.Conversions import Data.Text.Encoding (decodeUtf8, encodeUtf8) -import qualified Data.Vector as V -import qualified Data.ZAuth.Token as ZAuth +import Data.Vector qualified as V +import Data.ZAuth.Token qualified as ZAuth import Imports -import qualified Network.Wai.Utilities.Error as Wai +import Network.Wai.Utilities.Error qualified as Wai import Polysemy import Polysemy.Error -import qualified SAML2.WebSSO as SAML -import qualified SAML2.WebSSO.Test.MockResponse as SAML +import SAML2.WebSSO qualified as SAML +import SAML2.WebSSO.Test.MockResponse qualified as SAML import SAML2.WebSSO.Test.Util.TestSP (makeSampleIdPMetadata) -import qualified SAML2.WebSSO.Test.Util.Types as SAML -import qualified Spar.Intra.BrigApp as Intra +import SAML2.WebSSO.Test.Util.Types qualified as SAML +import Spar.Intra.BrigApp qualified as Intra import Spar.Options import Spar.Scim import Spar.Scim.Types (normalizeLikeStored) -import qualified Spar.Scim.User as SU -import qualified Spar.Sem.BrigAccess as BrigAccess -import qualified Spar.Sem.SAMLUserStore as SAMLUserStore -import qualified Spar.Sem.ScimExternalIdStore as ScimExternalIdStore -import qualified Spar.Sem.ScimUserTimesStore as ScimUserTimesStore +import Spar.Scim.User qualified as SU +import Spar.Sem.BrigAccess qualified as BrigAccess +import Spar.Sem.SAMLUserStore qualified as SAMLUserStore +import Spar.Sem.ScimExternalIdStore qualified as ScimExternalIdStore +import Spar.Sem.ScimUserTimesStore qualified as ScimUserTimesStore import Test.Tasty.HUnit ((@?=)) -import qualified Text.XML.DSig as SAML +import Text.XML.DSig qualified as SAML import Util import Util.Invitation -import qualified Web.Scim.Class.User as Scim.UserC -import qualified Web.Scim.Filter as Filter -import qualified Web.Scim.Schema.Common as Scim -import qualified Web.Scim.Schema.Error as Scim -import qualified Web.Scim.Schema.ListResponse as Scim -import qualified Web.Scim.Schema.Meta as Scim +import Web.Scim.Class.User qualified as Scim.UserC +import Web.Scim.Filter qualified as Filter +import Web.Scim.Schema.Common qualified as Scim +import Web.Scim.Schema.Error qualified as Scim +import Web.Scim.Schema.ListResponse qualified as Scim +import Web.Scim.Schema.Meta qualified as Scim import Web.Scim.Schema.PatchOp (Operation) -import qualified Web.Scim.Schema.PatchOp as PatchOp -import qualified Web.Scim.Schema.User as Scim.User -import qualified Web.Scim.Schema.User.Email as Scim.Email -import qualified Wire.API.Team.Export as CsvExport -import qualified Wire.API.Team.Feature as Feature +import Web.Scim.Schema.PatchOp qualified as PatchOp +import Web.Scim.Schema.User qualified as Scim.User +import Web.Scim.Schema.User.Email qualified as Scim.Email +import Wire.API.Team.Export qualified as CsvExport +import Wire.API.Team.Feature qualified as Feature import Wire.API.Team.Invitation (Invitation (..)) import Wire.API.Team.Role (Role (..), defaultRole) import Wire.API.User hiding (scimExternalId) import Wire.API.User.IdentityProvider (IdP) -import qualified Wire.API.User.IdentityProvider as User +import Wire.API.User.IdentityProvider qualified as User import Wire.API.User.RichInfo -import qualified Wire.API.User.Scim as Spar.Types -import qualified Wire.API.User.Search as Search +import Wire.API.User.Scim qualified as Spar.Types +import Wire.API.User.Search qualified as Search -- | Tests for @\/scim\/v2\/Users@. spec :: SpecWith TestEnv diff --git a/services/spar/test-integration/Util/Activation.hs b/services/spar/test-integration/Util/Activation.hs index 58e1f05125..23c6e6223b 100644 --- a/services/spar/test-integration/Util/Activation.hs +++ b/services/spar/test-integration/Util/Activation.hs @@ -21,7 +21,7 @@ import Bilge import Control.Lens import Data.Aeson.Lens as Aeson import Data.ByteString.Conversion -import qualified Data.Text.Ascii as Ascii +import Data.Text.Ascii qualified as Ascii import Imports import Util.Types import Wire.API.User.Activation diff --git a/services/spar/test-integration/Util/Core.hs b/services/spar/test-integration/Util/Core.hs index f6c8e25d73..c6452b08f4 100644 --- a/services/spar/test-integration/Util/Core.hs +++ b/services/spar/test-integration/Util/Core.hs @@ -150,8 +150,8 @@ import Control.Retry import Crypto.Random.Types (MonadRandom) import Data.Aeson as Aeson import Data.Aeson.Lens as Aeson -import qualified Data.ByteString.Base64.Lazy as EL -import qualified Data.ByteString.Char8 as B8 +import Data.ByteString.Base64.Lazy qualified as EL +import Data.ByteString.Char8 qualified as B8 import Data.ByteString.Conversion import Data.Handle (Handle, parseHandle) import Data.Id @@ -161,60 +161,60 @@ import Data.Range import Data.String.Conversions import Data.Text (pack) import Data.Text.Encoding (encodeUtf8) -import qualified Data.Text.Lazy.Encoding as LT +import Data.Text.Lazy.Encoding qualified as LT import Data.These import Data.UUID as UUID hiding (fromByteString, null) import Data.UUID.V4 as UUID (nextRandom) -import qualified Data.Yaml as Yaml +import Data.Yaml qualified as Yaml import GHC.TypeLits import Imports hiding (head) -import qualified Network.HTTP.Client as HTTP +import Network.HTTP.Client qualified as HTTP import Network.HTTP.Client.MultipartFormData import Network.URI (pathSegments) -import qualified Options.Applicative as OPA +import Options.Applicative qualified as OPA import Polysemy (Sem) import SAML2.WebSSO as SAML -import qualified SAML2.WebSSO.API.Example as SAML +import SAML2.WebSSO.API.Example qualified as SAML import SAML2.WebSSO.Test.Lenses (userRefL) import SAML2.WebSSO.Test.MockResponse import SAML2.WebSSO.Test.Util (SampleIdP (..), makeSampleIdPMetadata) -import qualified Spar.App as IdpConfigStire -import qualified Spar.App as Spar +import Spar.App qualified as IdpConfigStire +import Spar.App qualified as Spar import Spar.CanonicalInterpreter import Spar.Error (SparError) -import qualified Spar.Intra.BrigApp as Intra +import Spar.Intra.BrigApp qualified as Intra import Spar.Options import Spar.Run import Spar.Sem.BrigAccess (getAccount) -import qualified Spar.Sem.IdPConfigStore as IdPConfigStore -import qualified Spar.Sem.SAMLUserStore as SAMLUserStore -import qualified Spar.Sem.ScimExternalIdStore as ScimExternalIdStore -import qualified System.Logger.Extended as Log +import Spar.Sem.IdPConfigStore qualified as IdPConfigStore +import Spar.Sem.SAMLUserStore qualified as SAMLUserStore +import Spar.Sem.ScimExternalIdStore qualified as ScimExternalIdStore +import System.Logger.Extended qualified as Log import System.Random (randomRIO) import Test.Hspec hiding (it, pending, pendingWith, xit) import qualified Test.Hspec -import qualified Text.XML as XML -import qualified Text.XML.Cursor as XML +import Text.XML qualified as XML +import Text.XML.Cursor qualified as XML import Text.XML.DSig (SignPrivCreds) -import qualified Text.XML.DSig as SAML +import Text.XML.DSig qualified as SAML import URI.ByteString as URI import Util.Options import Util.Types -import qualified Web.Cookie as Web +import Web.Cookie qualified as Web import Web.HttpApiData import Wire.API.Routes.Version import Wire.API.Team (Icon (..)) -import qualified Wire.API.Team as Galley +import Wire.API.Team qualified as Galley import Wire.API.Team.Feature -import qualified Wire.API.Team.Invitation as TeamInvitation +import Wire.API.Team.Invitation qualified as TeamInvitation import Wire.API.Team.Member (NewTeamMember, TeamMemberList, rolePermissions) -import qualified Wire.API.Team.Member as Member -import qualified Wire.API.Team.Member as Team +import Wire.API.Team.Member qualified as Member +import Wire.API.Team.Member qualified as Team import Wire.API.Team.Permission import Wire.API.Team.Role -import qualified Wire.API.Team.Role as Role +import Wire.API.Team.Role qualified as Role import Wire.API.User -import qualified Wire.API.User as User +import Wire.API.User qualified as User import Wire.API.User.Auth hiding (Cookie) import Wire.API.User.IdentityProvider import Wire.API.User.Scim diff --git a/services/spar/test-integration/Util/Email.hs b/services/spar/test-integration/Util/Email.hs index 0809638ef2..1b107535f8 100644 --- a/services/spar/test-integration/Util/Email.hs +++ b/services/spar/test-integration/Util/Email.hs @@ -28,13 +28,13 @@ import Control.Lens (view) import Control.Monad.Catch (MonadCatch) import Data.ByteString.Conversion import Data.Id -import qualified Data.ZAuth.Token as ZAuth +import Data.ZAuth.Token qualified as ZAuth import Imports import Test.Tasty.HUnit import Util.Activation import Util.Core import Util.Types -import qualified Wire.API.Team.Feature as Feature +import Wire.API.Team.Feature qualified as Feature import Wire.API.User import Wire.API.User.Activation diff --git a/services/spar/test-integration/Util/Invitation.hs b/services/spar/test-integration/Util/Invitation.hs index 157a0f591f..2d871d6c4f 100644 --- a/services/spar/test-integration/Util/Invitation.hs +++ b/services/spar/test-integration/Util/Invitation.hs @@ -27,7 +27,7 @@ where import Bilge import Bilge.Assert ((!!!), ( UserId -> IO [Maybe UTCTime] diff --git a/tools/db/team-info/team-info.cabal b/tools/db/team-info/team-info.cabal index c96cb3485c..e853e87552 100644 --- a/tools/db/team-info/team-info.cabal +++ b/tools/db/team-info/team-info.cabal @@ -84,7 +84,7 @@ executable team-info , team-info hs-source-dirs: app - default-language: Haskell2010 + default-language: GHC2021 ghc-options: -O2 -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -Wpartial-fields -fwarn-tabs -optP-Wno-nonportable-include-path diff --git a/tools/rabbitmq-consumer/app/Main.hs b/tools/rabbitmq-consumer/app/Main.hs index 0379be52e3..31fd743a8b 100644 --- a/tools/rabbitmq-consumer/app/Main.hs +++ b/tools/rabbitmq-consumer/app/Main.hs @@ -17,7 +17,7 @@ module Main where -import qualified RabbitMQConsumer.Lib as Lib +import RabbitMQConsumer.Lib qualified as Lib main :: IO () main = Lib.main diff --git a/tools/rex/Main.hs b/tools/rex/Main.hs index 34401a8037..d83ce9014e 100644 --- a/tools/rex/Main.hs +++ b/tools/rex/Main.hs @@ -29,22 +29,22 @@ module Main (main) where import Control.Concurrent.Async import Control.Monad.Catch import Control.Monad.Trans -import qualified Data.Attoparsec.ByteString.Char8 as Parser +import Data.Attoparsec.ByteString.Char8 qualified as Parser import Data.Bifunctor import Data.Bitraversable import Data.ByteString (ByteString) -import qualified Data.ByteString.Char8 as ByteString +import Data.ByteString.Char8 qualified as ByteString import Data.Foldable import Data.Functor (($>)) import Data.HashMap.Strict (HashMap) -import qualified Data.HashMap.Strict as HashMap +import Data.HashMap.Strict qualified as HashMap import Data.IP import Data.Maybe import Data.Text (Text) -import qualified Data.Text as Text +import Data.Text qualified as Text import Data.Text.Encoding (decodeUtf8, encodeUtf8) -import qualified Data.Text.IO as Text -import qualified Data.Text.Read as Text +import Data.Text.IO qualified as Text +import Data.Text.Read qualified as Text import Data.Traversable import Data.Word import Network.DNS hiding (header) @@ -55,14 +55,14 @@ import Network.Wai import Network.Wai.Handler.Warp import Options.Applicative import System.Clock -import qualified System.Logger as Log +import System.Logger qualified as Log import System.Logger.Message (msg, val) import System.Metrics.Prometheus.Concurrent.RegistryT -- this library sucks import System.Metrics.Prometheus.Encode.Text -import qualified System.Metrics.Prometheus.Metric.Counter as Counter +import System.Metrics.Prometheus.Metric.Counter qualified as Counter import System.Metrics.Prometheus.Metric.Gauge (Gauge) -import qualified System.Metrics.Prometheus.Metric.Gauge as Gauge -import qualified System.Metrics.Prometheus.Metric.Histogram as Histo +import System.Metrics.Prometheus.Metric.Gauge qualified as Gauge +import System.Metrics.Prometheus.Metric.Histogram qualified as Histo import System.Metrics.Prometheus.MetricId import System.Metrics.Prometheus.Registry (RegistrySample) import System.Timeout (timeout) diff --git a/tools/rex/rex.cabal b/tools/rex/rex.cabal index d317815b3f..6a310946b5 100644 --- a/tools/rex/rex.cabal +++ b/tools/rex/rex.cabal @@ -43,4 +43,4 @@ executable rex if flag(static) ld-options: -static - default-language: Haskell2010 + default-language: GHC2021 diff --git a/tools/stern/test/unit/Main.hs b/tools/stern/test/unit/Main.hs index ddc1815587..c776feb5ac 100644 --- a/tools/stern/test/unit/Main.hs +++ b/tools/stern/test/unit/Main.hs @@ -17,7 +17,7 @@ module Main where -import qualified Stern.Intra as Intra +import Stern.Intra qualified as Intra import Test.Tasty import Test.Tasty.HUnit import Wire.API.Routes.Version (supportedVersions)