knockapi 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e5539a9d4052b39167c0aa22d71eb9848ab0c6ad0c2812bf72e09cc446256868
4
- data.tar.gz: 7b08912b135c05a15d528527788a3f7aa8d7b67b7c14e0e5bcbac8f80fb5fe4e
3
+ metadata.gz: ed79d84e9b6070feed5df6299073f396d7739c43a5a7c5a1ed2bb87e91722f5a
4
+ data.tar.gz: 99360a722f4a6f669940d38c08688edb64effb68f4805f26fe3d790dce7038bc
5
5
  SHA512:
6
- metadata.gz: 2e2976916846b11c9a8ccb6cdacba9f12fecb0e113f8114cb1eed77a248b53156cdf025ffd823148567675489d988f655d80fec43cdb8a2174f6d6cce5a0db02
7
- data.tar.gz: 83b75fd115a9ce6905629cc20bbdf1550eb726e2e39ece0e4d4215a1203ee1b6af46877d1dd50cda0de1c1230a5f948a9e6e974cdd600ca62794a154ba9f1ab6
6
+ metadata.gz: 670a433ef51923fb02f0af1abd618e848c6b5574dc919766ccec8583d364f9a6f3ca2f618592a1c3ed95245a028302eaa2d288d6a1b0b2d8eb979153e4dbaf16
7
+ data.tar.gz: 9bcbe07af9a0125fb77d1f3ce50bc190ecf12ac2c32f71e214c93a6492276960343d4e59ad7fe98411ebccbdeea7da29de54f78da5a1041471d6bed2d0e6eb55
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- knockapi (0.4.1)
4
+ knockapi (0.4.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -0,0 +1,88 @@
1
+ require "net/http"
2
+ require "uri"
3
+
4
+ module Knock
5
+ # Methods for interacting with messages in Knock
6
+ module Messages
7
+ class << self
8
+ include Base
9
+ include Client
10
+
11
+ # Retrieves a paginated list of messages for the provided environment
12
+ #
13
+ # @param [Hash] options Options to pass to the messages endpoint query
14
+ #
15
+ # @return [Hash] Paginated list of Message records
16
+ def list(options: {})
17
+ request = get_request(
18
+ auth: true,
19
+ path: "/v1/messages",
20
+ params: options
21
+ )
22
+
23
+ execute_request(request: request)
24
+ end
25
+
26
+ # Retrieves a Message
27
+ #
28
+ # @param [String] id The message id
29
+ #
30
+ # @return [Hash] The Message
31
+ def get(id:)
32
+ request = get_request(
33
+ auth: true,
34
+ path: "/v1/messages/#{id}"
35
+ )
36
+
37
+ execute_request(request: request)
38
+ end
39
+
40
+ # Get a Message's content
41
+ #
42
+ # @param [String] id The message id
43
+ #
44
+ # @return [Hash] The Message content
45
+ def get_content(id:)
46
+ request = get_request(
47
+ auth: true,
48
+ path: "/v1/messages/#{id}/content"
49
+ )
50
+
51
+ execute_request(request: request)
52
+ end
53
+
54
+ # Get a Message's activities
55
+ #
56
+ # @param [String] id The message id
57
+ # @param [Hash] options Options to pass to the paginated activities endpoint query
58
+ #
59
+ # @return [Hash] Paginated Message's activities
60
+ def get_activities(id:, options: {})
61
+ request = get_request(
62
+ auth: true,
63
+ path: "/v1/messages/#{id}/activities",
64
+ params: options
65
+ )
66
+
67
+ execute_request(request: request)
68
+ end
69
+
70
+ # Get a Message's events
71
+ #
72
+ # @param [String] id The message id
73
+ # @param [Hash] options Options to pass to the paginated events endpoint query
74
+ #
75
+ # @return [Hash] Paginated Message's events
76
+ def get_events(id:, options: {})
77
+ request = get_request(
78
+ auth: true,
79
+ path: "/v1/messages/#{id}/events",
80
+ params: options
81
+ )
82
+
83
+ execute_request(request: request)
84
+ end
85
+ end
86
+ end
87
+ end
88
+
data/lib/knock/objects.rb CHANGED
@@ -120,6 +120,23 @@ module Knock
120
120
 
121
121
  execute_request(request: request)
122
122
  end
123
+
124
+ # Get object's messages
125
+ #
126
+ # @param [String] collection The collection the object is in
127
+ # @param [String] id The object id
128
+ # @param [Hash] options Options to pass to the messages endpoint query
129
+ #
130
+ # @return [Hash] Paginated messages response
131
+ def get_messages(collection:, id:, options: {})
132
+ request = get_request(
133
+ auth: true,
134
+ path: "/v1/objects/#{collection}/#{id}/messages",
135
+ params: options
136
+ )
137
+
138
+ execute_request(request: request)
139
+ end
123
140
  end
124
141
  end
125
142
  end
data/lib/knock/users.rb CHANGED
@@ -316,6 +316,26 @@ module Knock
316
316
 
317
317
  execute_request(request: request)
318
318
  end
319
+
320
+ ##
321
+ # Messages
322
+ ##
323
+
324
+ # Get user's messages
325
+ #
326
+ # @param [String] id the user ID
327
+ # @param [Hash] options Options to pass to the messages endpoint query
328
+ #
329
+ # @return [Hash] Paginated messages response
330
+ def get_messages(id:, options: {})
331
+ request = get_request(
332
+ auth: true,
333
+ path: "/v1/users/#{id}/messages",
334
+ params: options
335
+ )
336
+
337
+ execute_request(request: request)
338
+ end
319
339
  end
320
340
  end
321
341
  end
data/lib/knock/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Knock
4
- VERSION = "0.4.1"
4
+ VERSION = "0.4.2"
5
5
  end
@@ -11,7 +11,7 @@ module Knock
11
11
  # Triggers the workflow with the given key
12
12
  #
13
13
  # @param [String] key The workflow key
14
- # @param [String, Hash] actor The actor identifier
14
+ # @param [String, Hash] actor The actor identifier (optional)
15
15
  # @param [Array<String, Hash>] recipients The recipient identifiers
16
16
  # @param [Hash] data The data to pass to the workflow
17
17
  # @param [String] cancellation_key An optional key to identify this workflow
data/lib/knock.rb CHANGED
@@ -27,6 +27,7 @@ module Knock
27
27
  autoload :Workflows, "knock/workflows"
28
28
  autoload :BulkOperations, "knock/bulk_operations"
29
29
  autoload :Objects, "knock/objects"
30
+ autoload :Messages, "knock/messages"
30
31
 
31
32
  # Errors
32
33
  autoload :APIError, "knock/errors"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: knockapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Knock Labs, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-21 00:00:00.000000000 Z
11
+ date: 2022-04-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -76,6 +76,7 @@ files:
76
76
  - lib/knock/bulk_operations.rb
77
77
  - lib/knock/client.rb
78
78
  - lib/knock/errors.rb
79
+ - lib/knock/messages.rb
79
80
  - lib/knock/objects.rb
80
81
  - lib/knock/preferences.rb
81
82
  - lib/knock/users.rb
@@ -101,7 +102,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
102
  - !ruby/object:Gem::Version
102
103
  version: '0'
103
104
  requirements: []
104
- rubygems_version: 3.3.3
105
+ rubygems_version: 3.3.7
105
106
  signing_key:
106
107
  specification_version: 4
107
108
  summary: API client for Knock