knockapi 0.4.1 → 0.4.2

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 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