Skip to content
Snippets Groups Projects
Commit f187cc59 authored by Z.J. van de Weg's avatar Z.J. van de Weg
Browse files

Small update to the Mattermost API

These changes make it possible to wrap multiple API requests in one
session.
parent b60de9c0
No related branches found
No related tags found
No related merge requests found
Loading
@@ -8,21 +8,31 @@ module Mattermost
Loading
@@ -8,21 +8,31 @@ module Mattermost
@user = user @user = user
end end
   
private
def with_session(&blk) def with_session(&blk)
Mattermost::Session.new(user).with_session(&blk) Mattermost::Session.new(user).with_session(&blk)
end end
   
def json_get(path, options = {}) private
# Should be used in a session manually
def get(session, path, options = {})
json_response session.get(path, options)
end
# Should be used in a session manually
def post(session, path, options = {})
json_response session.post(path, options)
end
def session_get(path, options = {})
with_session do |session| with_session do |session|
json_response session.get(path, options) get(session, path, options)
end end
end end
   
def json_post(path, options = {}) def session_post(path, options = {})
with_session do |session| with_session do |session|
json_response session.post(path, options) post(session, path, options)
end end
end end
   
Loading
Loading
module Mattermost module Mattermost
class Command < Client class Command < Client
def create(params) def create(params)
response = json_post("/api/v3/teams/#{params[:team_id]}/commands/create", response = session_post("/api/v3/teams/#{params[:team_id]}/commands/create",
body: params.to_json) body: params.to_json)
   
response['token'] response['token']
Loading
Loading
module Mattermost module Mattermost
class Team < Client class Team < Client
def all def all
json_get('/api/v3/teams/all') session_get('/api/v3/teams/all')
end end
end end
end end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment