wassenger_client 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/models/wassenger_client/client.rb +26 -20
- data/app/models/wassenger_client/device.rb +85 -1
- data/app/models/wassenger_client/file.rb +29 -1
- data/app/models/wassenger_client/message.rb +21 -1
- data/app/models/wassenger_client/pricing.rb +5 -1
- data/app/models/wassenger_client/webhook.rb +25 -1
- data/spec/models/wassenger_client/device_spec.rb +11 -0
- data/spec/models/wassenger_client/file_spec.rb +11 -0
- data/spec/models/wassenger_client/pricing_spec.rb +11 -0
- metadata +7 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: aa00bbb2916a7e9273fc3c12b3bef10aff158620c4f064757ce3c745455723a1
|
|
4
|
+
data.tar.gz: 1854452b03bd1c570c4f7d9c8ae3044acc162602681877ca5ce3737726a4d979
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ee232df6fff80d6f8a20861ddebb01bc5c0d392a06c27b4913688e309a9b67e4269ae9a5febc05e60d49e89969b08d7866ac7175b831c6652bf624259d6178df
|
|
7
|
+
data.tar.gz: af09107b6d1ddfec45eb71d9bf6232f8fb035fe2f1ec197cb719e748f36851855916ef378953608e7a5c51e53a1d237f517475136792a6f8aa5f86a07c900104
|
|
@@ -8,45 +8,51 @@ module WassengerClient
|
|
|
8
8
|
class Client < OpenStruct
|
|
9
9
|
class << self
|
|
10
10
|
def client
|
|
11
|
-
http = Net::HTTP.new(
|
|
11
|
+
http = Net::HTTP.new(url_endpoint.host, url_endpoint.port)
|
|
12
12
|
http.use_ssl = true
|
|
13
13
|
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
|
14
14
|
http
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
-
def url
|
|
18
|
-
URI(
|
|
17
|
+
def url_endpoint(url = base_url, id = '', endpoint = '')
|
|
18
|
+
id.blank? ? URI(url+endpoint) : URI(url+"/"+id+endpoint)
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
-
def request(type = :get, params = {},
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
request = Net::HTTP::
|
|
25
|
-
request = Net::HTTP::
|
|
21
|
+
def request(url = base_url, type = :get, id = '', params = {}, endpoint = '', query = {})
|
|
22
|
+
uri = url_endpoint(url, id, endpoint)
|
|
23
|
+
uri.query = URI.encode_www_form(query)
|
|
24
|
+
request = Net::HTTP::Get.new(uri) if type == :get
|
|
25
|
+
request = Net::HTTP::Post.new(uri) if type == :post
|
|
26
|
+
request = Net::HTTP::Patch.new(uri) if type == :patch
|
|
27
|
+
request = Net::HTTP::Delete.new(uri) if type == :delete
|
|
26
28
|
request['content-type'] = 'application/json'
|
|
27
29
|
request['token'] = ENV['WASSENGER_TOKEN']
|
|
28
30
|
request.body = "#{params.to_json}" if !params.blank?
|
|
29
31
|
request
|
|
30
32
|
end
|
|
31
33
|
|
|
32
|
-
def post(params = {})
|
|
33
|
-
request = request(:post, params)
|
|
34
|
-
client.request(request).read_body
|
|
34
|
+
def post(url = base_url, id = '', params = {}, endpoint = '', query = {})
|
|
35
|
+
request = request(url, :post, id, params, endpoint, query)
|
|
36
|
+
response = client.request(request).read_body
|
|
37
|
+
JSON.parse(response) if !response.nil?
|
|
35
38
|
end
|
|
36
39
|
|
|
37
|
-
def get(params = {})
|
|
38
|
-
request = request(:get, params)
|
|
39
|
-
client.request(request).read_body
|
|
40
|
+
def get(url = base_url, id = '', params = {}, endpoint = '', query = {})
|
|
41
|
+
request = request(url, :get, id, params, endpoint, query)
|
|
42
|
+
response = client.request(request).read_body
|
|
43
|
+
JSON.parse(response) if !response.nil?
|
|
40
44
|
end
|
|
41
45
|
|
|
42
|
-
def
|
|
43
|
-
request = request(:
|
|
44
|
-
client.request(request).read_body
|
|
46
|
+
def update(url = base_url, id = '', params = {}, endpoint = '', query = {})
|
|
47
|
+
request = request(url, :patch, id, params, endpoint, query)
|
|
48
|
+
response = client.request(request).read_body
|
|
49
|
+
JSON.parse(response) if !response.nil?
|
|
45
50
|
end
|
|
46
51
|
|
|
47
|
-
def
|
|
48
|
-
request = request(:
|
|
49
|
-
client.request(request).read_body
|
|
52
|
+
def delete(url = base_url, id = '', params = {}, endpoint = '', query = {})
|
|
53
|
+
request = request(url, :delete, id, params, endpoint, query)
|
|
54
|
+
response = client.request(request).read_body
|
|
55
|
+
JSON.parse(response) if !response.nil?
|
|
50
56
|
end
|
|
51
57
|
|
|
52
58
|
def base_url
|
|
@@ -1,11 +1,95 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
module WassengerClient
|
|
4
|
-
class Device <
|
|
4
|
+
class Device < OpenStruct
|
|
5
5
|
class << self
|
|
6
6
|
def base_url
|
|
7
7
|
WassengerClient::Client.base_url + 'devices'
|
|
8
8
|
end
|
|
9
|
+
|
|
10
|
+
def get(query = {})
|
|
11
|
+
WassengerClient::Client.get(base_url, '', {}, '', query)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def create(params = {})
|
|
15
|
+
WassengerClient::Client.post(base_url, '', params)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def sync(id = '0')
|
|
19
|
+
WassengerClient::Client.get(base_url, id, {}, '/sync')
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def scan(id = '0', query = {})
|
|
23
|
+
WassengerClient::Client.get(base_url, id, {}, '/scan', query)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def reset(id = '0', query = {})
|
|
27
|
+
WassengerClient::Client.post(base_url, id, {}, '/reset', query)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def remove_chats(id = '0', params = {})
|
|
31
|
+
WassengerClient::Client.post(base_url, id, params, '/removechats')
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def reboot(id = '0', query = {})
|
|
35
|
+
WassengerClient::Client.post(base_url, id, {}, '/reboot', query)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def queue(id = '0')
|
|
39
|
+
WassengerClient::Client.get(base_url, id, {}, '/queue')
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def route_messages(id = '0', params = {})
|
|
43
|
+
WassengerClient::Client.patch(base_url, id, params, '/queue')
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def empty_queue(id = '0', query = {})
|
|
47
|
+
WassengerClient::Client.delete(base_url, id, {}, '/queue', query)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def get_profile_image(id = '0')
|
|
51
|
+
WassengerClient::Client.get(base_url, id, {}, '/profile/image')
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def get_profiles(id = '0', query = {})
|
|
55
|
+
WassengerClient::Client.get(base_url, id, {}, '/profile', query)
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def update_profile(id = '0', params = {})
|
|
59
|
+
WassengerClient::Client.patch(base_url, id, params, '/profile')
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def download_invoice(id = '0', invoice_id = '0')
|
|
63
|
+
WassengerClient::Client.get(base_url, id, {}, "/invoices/#{invoice_id}/pdf")
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def invoices(id = '0', query = {})
|
|
67
|
+
WassengerClient::Client.get(base_url, id, {}, '/invoices', query)
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def health(id = '0')
|
|
71
|
+
WassengerClient::Client.get(base_url, id, {}, '/health')
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def groups(id = '0')
|
|
75
|
+
WassengerClient::Client.get(base_url, id, {}, '/groups')
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def auto_reply(id = '0', params = {})
|
|
79
|
+
WassengerClient::Client.post(base_url, id, params, '/autoreply')
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
def get_details(id = '0')
|
|
83
|
+
WassengerClient::Client.get(base_url, id)
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def update(id = '0', params = {})
|
|
87
|
+
WassengerClient::Client.patch(base_url, id, params)
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def delete(id = '0')
|
|
91
|
+
WassengerClient::Client.delete(base_url, id)
|
|
92
|
+
end
|
|
9
93
|
end
|
|
10
94
|
end
|
|
11
95
|
end
|
|
@@ -1,11 +1,39 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
module WassengerClient
|
|
4
|
-
class File <
|
|
4
|
+
class File < OpenStruct
|
|
5
5
|
class << self
|
|
6
6
|
def base_url
|
|
7
7
|
WassengerClient::Client.base_url + 'files'
|
|
8
8
|
end
|
|
9
|
+
|
|
10
|
+
def get(query = {})
|
|
11
|
+
WassengerClient::Client.get(base_url, '', {}, '', query)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def upload(params = {}, query = {})
|
|
15
|
+
WassengerClient::Client.post(base_url, '', params, '', query)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def preview_image(id = '0')
|
|
19
|
+
WassengerClient::Client.get(base_url, id, {}, '/preview')
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def download(id = '0')
|
|
23
|
+
WassengerClient::Client.get(base_url, id, {}, '/download')
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def get_details(id = '0')
|
|
27
|
+
WassengerClient::Client.get(base_url, id)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def update(id = '0', params = {})
|
|
31
|
+
WassengerClient::Client.patch(base_url, id, params)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def delete(id = '0')
|
|
35
|
+
WassengerClient::Client.delete(base_url, id)
|
|
36
|
+
end
|
|
9
37
|
end
|
|
10
38
|
end
|
|
11
39
|
end
|
|
@@ -1,11 +1,31 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
module WassengerClient
|
|
4
|
-
class Message <
|
|
4
|
+
class Message < OpenStruct
|
|
5
5
|
class << self
|
|
6
6
|
def base_url
|
|
7
7
|
WassengerClient::Client.base_url + 'messages'
|
|
8
8
|
end
|
|
9
|
+
|
|
10
|
+
def get(query = {})
|
|
11
|
+
WassengerClient::Client.get(base_url, '', {}, '', query)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def send(params = {})
|
|
15
|
+
WassengerClient::Client.post(base_url, '', params)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def get_details(id = '0', query = {})
|
|
19
|
+
WassengerClient::Client.get(base_url, id, {}, '', query)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def update(id = '0', params = {})
|
|
23
|
+
WassengerClient::Client.patch(base_url, id, params)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def delete(id = '0')
|
|
27
|
+
WassengerClient::Client.delete(base_url, id)
|
|
28
|
+
end
|
|
9
29
|
end
|
|
10
30
|
end
|
|
11
31
|
end
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
module WassengerClient
|
|
4
|
-
class Pricing <
|
|
4
|
+
class Pricing < OpenStruct
|
|
5
5
|
class << self
|
|
6
6
|
def base_url
|
|
7
7
|
WassengerClient::Client.base_url + 'pricing'
|
|
8
8
|
end
|
|
9
|
+
|
|
10
|
+
def get
|
|
11
|
+
WassengerClient::Client.get(base_url)
|
|
12
|
+
end
|
|
9
13
|
end
|
|
10
14
|
end
|
|
11
15
|
end
|
|
@@ -1,11 +1,35 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
module WassengerClient
|
|
4
|
-
class Webhook <
|
|
4
|
+
class Webhook < OpenStruct
|
|
5
5
|
class << self
|
|
6
6
|
def base_url
|
|
7
7
|
WassengerClient::Client.base_url + 'webhooks'
|
|
8
8
|
end
|
|
9
|
+
|
|
10
|
+
def get(query = {})
|
|
11
|
+
WassengerClient::Client.get(base_url, '', {}, '', query)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def register(params = {})
|
|
15
|
+
WassengerClient::Client.post(base_url, '', params)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def enable(id = '0')
|
|
19
|
+
WassengerClient::Client.post(base_url, id, {}, '/enable')
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def get_details(id = '0')
|
|
23
|
+
WassengerClient::Client.get(base_url, id)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def update(id = '0', params = {})
|
|
27
|
+
WassengerClient::Client.patch(base_url, id, params)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def delete(id = '0')
|
|
31
|
+
WassengerClient::Client.delete(base_url, id)
|
|
32
|
+
end
|
|
9
33
|
end
|
|
10
34
|
end
|
|
11
35
|
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'net/http'
|
|
4
|
+
require 'json'
|
|
5
|
+
|
|
6
|
+
RSpec.describe WassengerClient::Device, type: :model do
|
|
7
|
+
it 'it should connect with the api endpoint' do
|
|
8
|
+
response = Net::HTTP.get(URI.parse(WassengerClient::Device.base_url))
|
|
9
|
+
expect(JSON.parse(response)['status']).to be_in([200, 403])
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'net/http'
|
|
4
|
+
require 'json'
|
|
5
|
+
|
|
6
|
+
RSpec.describe WassengerClient::File, type: :model do
|
|
7
|
+
it 'it should connect with the api endpoint' do
|
|
8
|
+
response = Net::HTTP.get(URI.parse(WassengerClient::File.base_url))
|
|
9
|
+
expect(JSON.parse(response)['status']).to be_in([200, 403])
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'net/http'
|
|
4
|
+
require 'json'
|
|
5
|
+
|
|
6
|
+
RSpec.describe WassengerClient::Pricing, type: :model do
|
|
7
|
+
it 'it should connect with the api endpoint' do
|
|
8
|
+
response = Net::HTTP.get(URI.parse(WassengerClient::Pricing.base_url))
|
|
9
|
+
expect(JSON.parse(response)['status']).to be_in([200, 403])
|
|
10
|
+
end
|
|
11
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: wassenger_client
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Raí Gondim
|
|
@@ -94,7 +94,10 @@ files:
|
|
|
94
94
|
- spec/dummy/public/422.html
|
|
95
95
|
- spec/dummy/public/500.html
|
|
96
96
|
- spec/dummy/public/favicon.ico
|
|
97
|
+
- spec/models/wassenger_client/device_spec.rb
|
|
98
|
+
- spec/models/wassenger_client/file_spec.rb
|
|
97
99
|
- spec/models/wassenger_client/message_spec.rb
|
|
100
|
+
- spec/models/wassenger_client/pricing_spec.rb
|
|
98
101
|
- spec/models/wassenger_client/webhook_spec.rb
|
|
99
102
|
- spec/rails_helper.rb
|
|
100
103
|
- spec/spec_helper.rb
|
|
@@ -162,3 +165,6 @@ test_files:
|
|
|
162
165
|
- spec/spec_helper.rb
|
|
163
166
|
- spec/models/wassenger_client/message_spec.rb
|
|
164
167
|
- spec/models/wassenger_client/webhook_spec.rb
|
|
168
|
+
- spec/models/wassenger_client/pricing_spec.rb
|
|
169
|
+
- spec/models/wassenger_client/file_spec.rb
|
|
170
|
+
- spec/models/wassenger_client/device_spec.rb
|