Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- data NonBindingNewTeam = NonBindingNewTeam {
- teamName :: Range 1 256 Text
- teamIcon :: Icon
- teamIconKey :: Maybe (Range 1 256 Text)
- teamMembers :: Maybe (Range 1 127 [TeamMember])
- type TeamAPI = Named "create-non-binding-team" (Summary "Create a new non binding team" :> (Until 'V4 :> (ZUser :> (ZConn :> (CanThrow InvalidAction :> ("teams" :> (ReqBody '[JSON] NonBindingNewTeam :> MultiVerb 'POST '[JSON] '[WithHeaders '[DescHeader "Location" "Team ID" TeamId] TeamId (RespondEmpty 201 "Team ID as `Location` header value")] TeamId))))))) :<|> (Named "update-team" (Summary "Update team properties" :> (ZUser :> (ZConn :> (CanThrow 'NotATeamMember :> (CanThrow ('MissingPermission ('Just 'SetTeamData)) :> ("teams" :> (Capture "tid" TeamId :> (ReqBody '[JSON] TeamUpdateData :> MultiVerb 'PUT '[JSON] '[RespondEmpty 200 "Team updated"] ())))))))) :<|> (Named "get-teams" (Summary "Get teams (deprecated); use `GET /teams/:tid`" :> (Until 'V4 :> (ZUser :> ("teams" :> Get '[JSON] TeamList)))) :<|> (Named "get-team" (Summary "Get a team by ID" :> (ZUser :> (CanThrow 'TeamNotFound :> ("teams" :> (Capture "tid" TeamId :> Get '[JSON] Team))))) :<|> Named "delete-team" (Summary "Delete a team" :> (ZUser :> (ZConn :> (CanThrow 'TeamNotFound :> (CanThrow ('MissingPermission ('Just 'DeleteTeam)) :> (CanThrow 'NotATeamMember :> (CanThrow OperationDenied :> (CanThrow 'DeleteQueueFull :> (CanThrow AuthenticationError :> ("teams" :> (Capture "tid" TeamId :> (ReqBody '[JSON] TeamDeleteData :> MultiVerb 'DELETE '[JSON] '[RespondEmpty 202 "Team is scheduled for removal"] ())))))))))))))))
Documentation
data NonBindingNewTeam Source #
FUTUREWORK: remove when the create-non-binding-team endpoint is deleted
NonBindingNewTeam | |
|
Instances
FromJSON NonBindingNewTeam Source # | |
Defined in Wire.API.Routes.Public.Galley.Team parseJSON :: Value -> Parser NonBindingNewTeam Source # parseJSONList :: Value -> Parser [NonBindingNewTeam] Source # | |
ToJSON NonBindingNewTeam Source # | |
Defined in Wire.API.Routes.Public.Galley.Team toJSON :: NonBindingNewTeam -> Value Source # toEncoding :: NonBindingNewTeam -> Encoding Source # toJSONList :: [NonBindingNewTeam] -> Value Source # toEncodingList :: [NonBindingNewTeam] -> Encoding Source # | |
Show NonBindingNewTeam Source # | |
Defined in Wire.API.Routes.Public.Galley.Team showsPrec :: Int -> NonBindingNewTeam -> ShowS # show :: NonBindingNewTeam -> String # showList :: [NonBindingNewTeam] -> ShowS # | |
Eq NonBindingNewTeam Source # | |
Defined in Wire.API.Routes.Public.Galley.Team (==) :: NonBindingNewTeam -> NonBindingNewTeam -> Bool # (/=) :: NonBindingNewTeam -> NonBindingNewTeam -> Bool # | |
ToSchema NonBindingNewTeam Source # | |
ToSchema NonBindingNewTeam Source # | |
type TeamAPI = Named "create-non-binding-team" (Summary "Create a new non binding team" :> (Until 'V4 :> (ZUser :> (ZConn :> (CanThrow InvalidAction :> ("teams" :> (ReqBody '[JSON] NonBindingNewTeam :> MultiVerb 'POST '[JSON] '[WithHeaders '[DescHeader "Location" "Team ID" TeamId] TeamId (RespondEmpty 201 "Team ID as `Location` header value")] TeamId))))))) :<|> (Named "update-team" (Summary "Update team properties" :> (ZUser :> (ZConn :> (CanThrow 'NotATeamMember :> (CanThrow ('MissingPermission ('Just 'SetTeamData)) :> ("teams" :> (Capture "tid" TeamId :> (ReqBody '[JSON] TeamUpdateData :> MultiVerb 'PUT '[JSON] '[RespondEmpty 200 "Team updated"] ())))))))) :<|> (Named "get-teams" (Summary "Get teams (deprecated); use `GET /teams/:tid`" :> (Until 'V4 :> (ZUser :> ("teams" :> Get '[JSON] TeamList)))) :<|> (Named "get-team" (Summary "Get a team by ID" :> (ZUser :> (CanThrow 'TeamNotFound :> ("teams" :> (Capture "tid" TeamId :> Get '[JSON] Team))))) :<|> Named "delete-team" (Summary "Delete a team" :> (ZUser :> (ZConn :> (CanThrow 'TeamNotFound :> (CanThrow ('MissingPermission ('Just 'DeleteTeam)) :> (CanThrow 'NotATeamMember :> (CanThrow OperationDenied :> (CanThrow 'DeleteQueueFull :> (CanThrow AuthenticationError :> ("teams" :> (Capture "tid" TeamId :> (ReqBody '[JSON] TeamDeleteData :> MultiVerb 'DELETE '[JSON] '[RespondEmpty 202 "Team is scheduled for removal"] ()))))))))))))))) Source #