{-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE DerivingStrategies #-} {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE EmptyDataDecls #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE TypeOperators #-} module Data.RoomEventFilter where import Database.Persist.TH import Data.Text ---------------------------------------------------------------------------------------------------- share [mkPersist sqlSettings, mkMigrate "migrateAll"] [persistUpperCase| RoomEventFilter containsUrl Bool Maybe includeRedundantMembers Bool default=False lazyLoadMembers Bool default=False limit Bool default=10 -- smaller datatype as to max of 50 and unsigned? notRooms [Text] Maybe notSenders [Text] Maybe notTypes [Text] Maybe rooms [Text] Maybe senders [Text] Maybe types [Text] Maybe unreadThreadNotifications Bool default=False deriving Show |]