2018-10-08 10:50:39 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2016-12-13 13:52:41 -05:00
|
|
|
module Mattermost
|
2016-12-19 18:22:10 -05:00
|
|
|
class Team < Client
|
2018-05-15 11:13:49 -04:00
|
|
|
# Returns all teams that the current user is a member of
|
2016-12-19 18:22:10 -05:00
|
|
|
def all
|
2018-05-15 11:13:49 -04:00
|
|
|
session_get("/api/v4/users/me/teams")
|
2016-12-16 09:45:56 -05:00
|
|
|
end
|
2017-02-02 09:04:02 -05:00
|
|
|
|
2017-02-03 05:29:56 -05:00
|
|
|
# Creates a team on the linked Mattermost instance, the team admin will be the
|
|
|
|
# `current_user` passed to the Mattermost::Client instance
|
2017-03-01 14:34:29 -05:00
|
|
|
def create(name:, display_name:, type:)
|
2018-05-15 11:13:49 -04:00
|
|
|
session_post('/api/v4/teams', body: {
|
2017-03-01 14:34:29 -05:00
|
|
|
name: name,
|
|
|
|
display_name: display_name,
|
|
|
|
type: type
|
|
|
|
}.to_json)
|
2017-02-02 09:04:02 -05:00
|
|
|
end
|
2017-05-14 06:57:08 -04:00
|
|
|
|
|
|
|
# The deletion is done async, so the response is fast.
|
2018-03-08 04:25:10 -05:00
|
|
|
# On the mattermost side, this triggers an soft deletion
|
2017-05-14 06:57:08 -04:00
|
|
|
def destroy(team_id:)
|
2018-03-08 04:25:10 -05:00
|
|
|
session_delete("/api/v4/teams/#{team_id}")
|
2017-05-14 06:57:08 -04:00
|
|
|
end
|
2016-12-13 13:52:41 -05:00
|
|
|
end
|
|
|
|
end
|