module Network.Mattermost.Lenses where
import Network.Mattermost.Types.Internal
import Network.Mattermost.Types
import Network.Mattermost.WebSocket.Types
import Network.Mattermost.TH
type Lens' a b = forall f. Functor f => (b -> f b) -> (a -> f a)
suffixLenses ''ConnectionData
suffixLenses ''Login
suffixLenses ''Team
suffixLenses ''TeamMember
suffixLenses ''UserNotifyProps
suffixLenses ''ChannelNotifyProps
suffixLenses ''Channel
suffixLenses ''ChannelData
suffixLenses ''User
suffixLenses ''Post
suffixLenses ''PostProps
suffixLenses ''PostPropAttachment
suffixLenses ''PendingPost
suffixLenses ''Posts
suffixLenses ''Reaction
suffixLenses ''WebsocketEvent
suffixLenses ''WEData
suffixLenses ''WEBroadcast
suffixLenses ''CommandResponse
suffixLenses ''CommandResponseType