wire-api-0.1.0
Safe HaskellSafe-Inferred
LanguageGHC2021

Wire.API.Routes.Public.Galley.Team

Documentation

type TeamAPI = Named "create-non-binding-team" (Summary "Create a new non binding team" :> (Until 'V4 :> (ZUser :> (ZConn :> (CanThrow 'NotConnected :> (CanThrow 'UserBindingExists :> ("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 #