module Wire.API.Event.LeaveReason where
import Data.Schema
import Imports
import Wire.Arbitrary
data EdMemberLeftReason
=
EdReasonLeft
|
EdReasonDeleted
|
EdReasonRemoved
deriving stock (EdMemberLeftReason -> EdMemberLeftReason -> Bool
(EdMemberLeftReason -> EdMemberLeftReason -> Bool)
-> (EdMemberLeftReason -> EdMemberLeftReason -> Bool)
-> Eq EdMemberLeftReason
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: EdMemberLeftReason -> EdMemberLeftReason -> Bool
== :: EdMemberLeftReason -> EdMemberLeftReason -> Bool
$c/= :: EdMemberLeftReason -> EdMemberLeftReason -> Bool
/= :: EdMemberLeftReason -> EdMemberLeftReason -> Bool
Eq, Int -> EdMemberLeftReason -> ShowS
[EdMemberLeftReason] -> ShowS
EdMemberLeftReason -> String
(Int -> EdMemberLeftReason -> ShowS)
-> (EdMemberLeftReason -> String)
-> ([EdMemberLeftReason] -> ShowS)
-> Show EdMemberLeftReason
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> EdMemberLeftReason -> ShowS
showsPrec :: Int -> EdMemberLeftReason -> ShowS
$cshow :: EdMemberLeftReason -> String
show :: EdMemberLeftReason -> String
$cshowList :: [EdMemberLeftReason] -> ShowS
showList :: [EdMemberLeftReason] -> ShowS
Show, (forall x. EdMemberLeftReason -> Rep EdMemberLeftReason x)
-> (forall x. Rep EdMemberLeftReason x -> EdMemberLeftReason)
-> Generic EdMemberLeftReason
forall x. Rep EdMemberLeftReason x -> EdMemberLeftReason
forall x. EdMemberLeftReason -> Rep EdMemberLeftReason x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. EdMemberLeftReason -> Rep EdMemberLeftReason x
from :: forall x. EdMemberLeftReason -> Rep EdMemberLeftReason x
$cto :: forall x. Rep EdMemberLeftReason x -> EdMemberLeftReason
to :: forall x. Rep EdMemberLeftReason x -> EdMemberLeftReason
Generic)
deriving (Gen EdMemberLeftReason
Gen EdMemberLeftReason
-> (EdMemberLeftReason -> [EdMemberLeftReason])
-> Arbitrary EdMemberLeftReason
EdMemberLeftReason -> [EdMemberLeftReason]
forall a. Gen a -> (a -> [a]) -> Arbitrary a
$carbitrary :: Gen EdMemberLeftReason
arbitrary :: Gen EdMemberLeftReason
$cshrink :: EdMemberLeftReason -> [EdMemberLeftReason]
shrink :: EdMemberLeftReason -> [EdMemberLeftReason]
Arbitrary) via GenericUniform EdMemberLeftReason
instance ToSchema EdMemberLeftReason where
schema :: ValueSchema NamedSwaggerDoc EdMemberLeftReason
schema =
forall v doc a b.
(With v, HasEnum v doc) =>
Text
-> SchemaP [Value] v (Alt Maybe v) a b
-> SchemaP doc Value Value a b
enum @Text Text
"EdMemberLeftReason" (SchemaP
[Value] Text (Alt Maybe Text) EdMemberLeftReason EdMemberLeftReason
-> ValueSchema NamedSwaggerDoc EdMemberLeftReason)
-> SchemaP
[Value] Text (Alt Maybe Text) EdMemberLeftReason EdMemberLeftReason
-> ValueSchema NamedSwaggerDoc EdMemberLeftReason
forall a b. (a -> b) -> a -> b
$
[SchemaP
[Value]
Text
(Alt Maybe Text)
EdMemberLeftReason
EdMemberLeftReason]
-> SchemaP
[Value] Text (Alt Maybe Text) EdMemberLeftReason EdMemberLeftReason
forall a. Monoid a => [a] -> a
mconcat
[ Text
-> EdMemberLeftReason
-> SchemaP
[Value] Text (Alt Maybe Text) EdMemberLeftReason EdMemberLeftReason
forall a b.
(ToJSON a, Eq a, Eq b) =>
a -> b -> SchemaP [Value] a (Alt Maybe a) b b
element Text
"left" EdMemberLeftReason
EdReasonLeft,
Text
-> EdMemberLeftReason
-> SchemaP
[Value] Text (Alt Maybe Text) EdMemberLeftReason EdMemberLeftReason
forall a b.
(ToJSON a, Eq a, Eq b) =>
a -> b -> SchemaP [Value] a (Alt Maybe a) b b
element Text
"user-deleted" EdMemberLeftReason
EdReasonDeleted,
Text
-> EdMemberLeftReason
-> SchemaP
[Value] Text (Alt Maybe Text) EdMemberLeftReason EdMemberLeftReason
forall a b.
(ToJSON a, Eq a, Eq b) =>
a -> b -> SchemaP [Value] a (Alt Maybe a) b b
element Text
"removed" EdMemberLeftReason
EdReasonRemoved
]