zeus_sdk 0.6.3 → 0.6.9

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: bce6f7b148ce0c2c2b2e248997dda8a7aa2345ab70bd9aef3cfc6fe91ca75454
4
- data.tar.gz: 7e065e5cd2959004f86ce75f14894013a4e5b0d7cded33ce864e2b0853420f56
3
+ metadata.gz: f451f89cbdde67d0641d344bbc27a9fe366e517d4c3019a2b5720b5e2e79d6ca
4
+ data.tar.gz: c4939258ccedef6f9035ce3ab5c7f2f037cf164b8e747fcc1005d127d5a9cf9b
5
5
  SHA512:
6
- metadata.gz: 56429bd2ce56e39404ab6f231b4635f53a8460670b55f588f23bc42db23b3e17dbdbb106c9e2322f1b2d17968d50f4faa72b017652edef04d341ef2e09570373
7
- data.tar.gz: 7dd56d57f3b4a4d042d05013c5d9d5bdfb7299effa1f818cbbcc3448dfa70dcadcebc0fc99e19eda611ff9731cd29d82914524ae9f01ad899e7dbed3841f3f96
6
+ metadata.gz: 5330369c05049503de331f07b59074a2eda8b365d6b7d13542ae23ea98722deba6860a7d02ae1bfb518af6f8da9aa3f9562890c2f4b6b415ccb7bfaac6b2947a
7
+ data.tar.gz: 51edfb2a23501d0c2169058aa5d877b78bbcfa0f199fe21b3ddfe23f7ba256c2351018b1928c590dc5410a262183989bb19ed57e4c841007718666aa3a3be372
data/Gemfile CHANGED
@@ -6,4 +6,4 @@ gemspec
6
6
  gem "rake", "~> 12.0"
7
7
  gem "rspec", "~> 3.0"
8
8
  gem "activesupport"
9
- gem "jwt"
9
+ gem "jwt", "~> 2.2.2"
data/lib/zeus_sdk.rb CHANGED
@@ -17,6 +17,7 @@ module ZeusSdk
17
17
  require "zeus_sdk/v1/multiplayer"
18
18
 
19
19
  # models
20
+ require "zeus_sdk/v1/models/api_response"
20
21
  require "zeus_sdk/v1/models/auth/user"
21
22
  require "zeus_sdk/v1/models/auth/role"
22
23
  require "zeus_sdk/v1/models/auth/role_user"
@@ -10,57 +10,34 @@ module ZeusSdk::V1
10
10
 
11
11
  def list_images(query)
12
12
  resp = self.class.get("/api/v1/images", query: query, headers: self.get_headers).parsed_response
13
- if resp["success"] == true
14
- return resp["objects"].map {|d| Image.new(d) }
15
- else
16
- puts(resp.inspect)
17
- return nil
18
- end
13
+ return ApiResponse.new(resp)
19
14
  end
20
15
 
21
16
  def create_image(image)
22
- resp = self.class.post("/api/v1/images", body: {image: image}.to_json, headers: self.get_headers).parsed_response
23
- if resp["success"] == true
24
- return Image.new(resp["object"])
25
- else
26
- return nil
27
- end
17
+ body = {image: image}
18
+ resp = self.class.post("/api/v1/images", body: body.to_json, headers: self.get_headers).parsed_response
19
+ return ApiResponse.new(resp)
28
20
  end
29
21
 
30
22
  def get_image(id)
31
23
  resp = self.class.get("/api/v1/images/#{id}", headers: self.get_headers).parsed_response
32
- if resp["success"] == true
33
- return Image.new(resp["object"])
34
- else
35
- return nil
36
- end
24
+ return ApiResponse.new(resp)
37
25
  end
38
26
 
39
27
  def get_image_variants(id)
40
28
  resp = self.class.get("/api/v1/images/#{id}/variants", headers: self.get_headers).parsed_response
41
- if resp["success"] == true
42
- return resp["object"]
43
- else
44
- return nil
45
- end
29
+ return ApiResponse.new(resp)
46
30
  end
47
31
 
48
32
  def update_image(id, image)
49
- resp = self.class.put("/api/v1/images/#{id}", body: {image: image}.to_json, headers: self.get_headers).parsed_response
50
- if resp["success"] == true
51
- return Image.new(resp["object"])
52
- else
53
- return nil
54
- end
33
+ body = {image: image}
34
+ resp = self.class.put("/api/v1/images/#{id}", body: body.to_json, headers: self.get_headers).parsed_response
35
+ return ApiResponse.new(resp)
55
36
  end
56
37
 
57
38
  def destroy_image(id)
58
39
  resp = self.class.delete("/api/v1/images/#{id}", headers: self.get_headers).parsed_response
59
- if resp["success"] == true
60
- return Image.new(resp["object"])
61
- else
62
- return nil
63
- end
40
+ return ApiResponse.new(resp)
64
41
  end
65
42
  end
66
43
  end
@@ -11,63 +11,54 @@ module ZeusSdk::V1
11
11
 
12
12
  def list_users(query)
13
13
  resp = self.class.get("/api/v1/users", query: query, headers: self.get_headers).parsed_response
14
- if resp["success"] == true
15
- return resp["objects"].map {|u| User.new(u) }
16
- else
17
- return nil
18
- end
14
+
15
+ return ApiResponse.new(resp)
19
16
  end
20
17
 
21
- def signup_with_email_password(user)
22
- resp = self.class.post("/api/v1/users", body: {user: user}.to_json, headers: self.get_headers).parsed_response
18
+ def login_with_email_password(session)
19
+ body = {user: user}
20
+ resp = self.class.post("/api/v1/sessions", body: body.to_json, headers: self.get_headers).parsed_response
21
+
22
+ return ApiResponse.new(resp)
23
23
  end
24
24
 
25
+ def signup_with_email_password(user)
26
+ body = {user: user}
27
+ resp = self.class.post("/api/v1/users", body: body.to_json, headers: self.get_headers).parsed_response
25
28
 
29
+ return ApiResponse.new(resp)
30
+ end
26
31
 
27
32
  def get_users(query)
28
33
  resp = self.class.get("/api/v1/users", query: query, headers: self.get_headers).parsed_response
29
34
 
30
- if resp["success"] == true
31
- return resp["objects"].map {|u| User.new(u) }
32
- else
33
- return nil
34
- end
35
+ return ApiResponse.new(resp)
35
36
  end
36
37
 
37
38
  def get_user(id)
38
39
  resp = self.class.get("/api/v1/users/#{id}", headers: self.get_headers).parsed_response
39
- if resp["success"] == true
40
- return User.new(resp["object"])
41
- else
42
- return nil
43
- end
40
+
41
+ return ApiResponse.new(resp)
44
42
  end
45
43
 
46
44
  def create_user(attributes)
47
- resp = self.class.post("/api/v1/users", body: {user: attributes}.to_json, headers: self.get_headers).parsed_response
48
- if resp["success"] == true
49
- return User.new(resp["object"])
50
- else
51
- return nil
52
- end
45
+ body = {user: attributes}
46
+ resp = self.class.post("/api/v1/users", body: body.to_json, headers: self.get_headers).parsed_response
47
+
48
+ return ApiResponse.new(resp)
53
49
  end
54
50
 
55
51
  def update_user(id, attributes)
56
- resp = self.class.put("/api/v1/users/#{id}", body: {user: attributes}.to_json, headers: self.get_headers).parsed_response
57
- if resp["success"] == true
58
- return User.new(resp["object"])
59
- else
60
- return nil
61
- end
52
+ body = {user: attributes}
53
+ resp = self.class.put("/api/v1/users/#{id}", body: body.to_json, headers: self.get_headers).parsed_response
54
+
55
+ return ApiResponse.new(resp)
62
56
  end
63
57
 
64
58
  def destroy_user(id)
65
59
  resp = self.class.delete("/api/v1/users/#{id}", headers: self.get_headers).parsed_response
66
- if resp["success"] == true
67
- return User.new(resp["object"])
68
- else
69
- return nil
70
- end
60
+
61
+ return ApiResponse.new(resp)
71
62
  end
72
63
 
73
64
 
@@ -75,51 +66,67 @@ module ZeusSdk::V1
75
66
  def get_waiting_lists(query)
76
67
  resp = self.class.get("/api/v1/waiting_lists", query: query, headers: self.get_headers).parsed_response
77
68
 
78
- if resp["success"] == true
79
- return resp["objects"].map {|u| WaitingList.new(u) }
80
- else
81
- return nil
82
- end
69
+ return ApiResponse.new(resp)
83
70
  end
84
71
 
85
72
  def get_waiting_list(id)
86
73
  resp = self.class.get("/api/v1/waiting_lists/#{id}", headers: self.get_headers).parsed_response
87
74
 
88
- if resp["success"] == true
89
- return WaitingList.new(resp["object"])
90
- else
91
- return nil
92
- end
75
+ return ApiResponse.new(resp)
93
76
  end
94
77
 
95
78
  def create_waiting_list(waiting_list)
96
- resp = self.class.post("/api/v1/waiting_lists/#{id}", body: {waiting_list: waiting_list}.to_json, headers: self.get_headers).parsed_response
79
+ body = {waiting_list: waiting_list}
80
+ resp = self.class.post("/api/v1/waiting_lists/#{id}", body: body.to_json, headers: self.get_headers).parsed_response
97
81
 
98
- if resp["success"] == true
99
- return WaitingList.new(resp["object"])
100
- else
101
- return nil
102
- end
82
+ return ApiResponse.new(resp)
103
83
  end
104
84
 
105
85
  def update_waiting_list(id, attributes)
106
- resp = self.class.put("/api/v1/waiting_lists/#{id}", body: {waiting_list: attributes}.to_json, headers: self.get_headers).parsed_response
86
+ body = {waiting_list: attributes}
87
+ resp = self.class.put("/api/v1/waiting_lists/#{id}", body: body.to_json, headers: self.get_headers).parsed_response
107
88
 
108
- if resp["success"] == true
109
- return WaitingList.new(resp["object"])
110
- else
111
- return nil
112
- end
89
+ return ApiResponse.new(resp)
113
90
  end
114
91
 
115
92
  def destroy_waiting_list(id)
116
93
  resp = self.class.delete("/api/v1/waiting_lists/#{id}", headers: self.get_headers).parsed_response
117
94
 
118
- if resp["success"] == true
119
- return WaitingList.new(resp["object"])
120
- else
121
- return nil
122
- end
95
+ return ApiResponse.new(resp)
96
+ end
97
+
98
+
99
+
100
+ def get_waiting_list_emails(query)
101
+ resp = self.class.get("/api/v1/waiting_list_emails", query: query, headers: self.get_headers).parsed_response
102
+
103
+ return ApiResponse.new(resp)
104
+ end
105
+
106
+ def get_waiting_list_email(id)
107
+ resp = self.class.get("/api/v1/waiting_list_emails/#{id}", headers: self.get_headers).parsed_response
108
+
109
+ return ApiResponse.new(resp)
110
+ end
111
+
112
+ def create_waiting_list_email(waiting_list_email)
113
+ body = {waiting_list_email: waiting_list_email}
114
+ resp = self.class.post("/api/v1/waiting_list_emails/#{id}", body: body.to_json, headers: self.get_headers).parsed_response
115
+
116
+ return ApiResponse.new(resp)
117
+ end
118
+
119
+ def update_waiting_list_email(id, attributes)
120
+ body = {waiting_list_email: attributes}
121
+ resp = self.class.put("/api/v1/waiting_list_emails/#{id}", body: body.to_json, headers: self.get_headers).parsed_response
122
+
123
+ return ApiResponse.new(resp)
124
+ end
125
+
126
+ def destroy_waiting_list_email(id)
127
+ resp = self.class.delete("/api/v1/waiting_list_emails/#{id}", headers: self.get_headers).parsed_response
128
+
129
+ return ApiResponse.new(resp)
123
130
  end
124
131
 
125
132
 
@@ -127,51 +134,33 @@ module ZeusSdk::V1
127
134
  def get_roles(query)
128
135
  resp = self.class.get("/api/v1/roles", query: query, headers: self.get_headers).parsed_response
129
136
 
130
- if resp["success"] == true
131
- return resp["objects"].map {|u| Role.new(u) }
132
- else
133
- return nil
134
- end
137
+ return ApiResponse.new(resp)
135
138
  end
136
139
 
137
140
  def get_role(id)
138
141
  resp = self.class.get("/api/v1/roles/#{id}", headers: self.get_headers).parsed_response
139
142
 
140
- if resp["success"] == true
141
- return Role.new(resp["object"])
142
- else
143
- return nil
144
- end
143
+ return ApiResponse.new(resp)
145
144
  end
146
145
 
147
146
  def create_role(attributes)
148
- resp = self.class.post("/api/v1/roles/#{id}", body: {role: attributes}.to_json, headers: self.get_headers).parsed_response
147
+ body = {role: attributes}
148
+ resp = self.class.post("/api/v1/roles/#{id}", body: body.to_json, headers: self.get_headers).parsed_response
149
149
 
150
- if resp["success"] == true
151
- return Role.new(resp["object"])
152
- else
153
- return nil
154
- end
150
+ return ApiResponse.new(resp)
155
151
  end
156
152
 
157
153
  def update_role(id, attributes)
158
- resp = self.class.put("/api/v1/roles/#{id}", body: {role: attributes}.to_json, headers: self.get_headers).parsed_response
154
+ body = {role: attributes}
155
+ resp = self.class.put("/api/v1/roles/#{id}", body: body.to_json, headers: self.get_headers).parsed_response
159
156
 
160
- if resp["success"] == true
161
- return Role.new(resp["object"])
162
- else
163
- return nil
164
- end
157
+ return ApiResponse.new(resp)
165
158
  end
166
159
 
167
160
  def destroy_role(id)
168
161
  resp = self.class.delete("/api/v1/roles/#{id}", headers: self.get_headers).parsed_response
169
162
 
170
- if resp["success"] == true
171
- return Role.new(resp["object"])
172
- else
173
- return nil
174
- end
163
+ return ApiResponse.new(resp)
175
164
  end
176
165
 
177
166
 
@@ -179,51 +168,33 @@ module ZeusSdk::V1
179
168
  def get_role_users(query)
180
169
  resp = self.class.get("/api/v1/role_users", query: query, headers: self.get_headers).parsed_response
181
170
 
182
- if resp["success"] == true
183
- return resp["objects"].map {|u| RoleUser.new(u) }
184
- else
185
- return nil
186
- end
171
+ return ApiResponse.new(resp)
187
172
  end
188
173
 
189
174
  def get_role_user(id)
190
175
  resp = self.class.get("/api/v1/role_users/#{id}", headers: self.get_headers).parsed_response
191
176
 
192
- if resp["success"] == true
193
- return RoleUser.new(resp["object"])
194
- else
195
- return nil
196
- end
177
+ return ApiResponse.new(resp)
197
178
  end
198
179
 
199
180
  def create_role_user(attributes)
200
- resp = self.class.post("/api/v1/role_users/#{id}", body: {role_user: attributes}.to_json, headers: self.get_headers).parsed_response
181
+ body = {role_user: attributes}
182
+ resp = self.class.post("/api/v1/role_users/#{id}", body: body.to_json, headers: self.get_headers).parsed_response
201
183
 
202
- if resp["success"] == true
203
- return RoleUser.new(resp["object"])
204
- else
205
- return nil
206
- end
184
+ return ApiResponse.new(resp)
207
185
  end
208
186
 
209
187
  def update_role_user(id, attributes)
210
- resp = self.class.put("/api/v1/role_users/#{id}", body: {role_user: attributes}.to_json, headers: self.get_headers).parsed_response
188
+ body = {role_user: attributes}
189
+ resp = self.class.put("/api/v1/role_users/#{id}", body: body.to_json, headers: self.get_headers).parsed_response
211
190
 
212
- if resp["success"] == true
213
- return RoleUser.new(resp["object"])
214
- else
215
- return nil
216
- end
191
+ return ApiResponse.new(resp)
217
192
  end
218
193
 
219
194
  def destroy_role_user(id)
220
195
  resp = self.class.delete("/api/v1/role_users/#{id}", headers: self.get_headers).parsed_response
221
196
 
222
- if resp["success"] == true
223
- return RoleUser.new(resp["object"])
224
- else
225
- return nil
226
- end
197
+ return ApiResponse.new(resp)
227
198
  end
228
199
 
229
200
 
@@ -231,51 +202,33 @@ module ZeusSdk::V1
231
202
  def get_permissions(query)
232
203
  resp = self.class.get("/api/v1/permissions", query: query, headers: self.get_headers).parsed_response
233
204
 
234
- if resp["success"] == true
235
- return resp["objects"].map {|u| Permission.new(u) }
236
- else
237
- return nil
238
- end
205
+ return ApiResponse.new(resp)
239
206
  end
240
207
 
241
208
  def get_permission(id)
242
209
  resp = self.class.get("/api/v1/permissions/#{id}", headers: self.get_headers).parsed_response
243
210
 
244
- if resp["success"] == true
245
- return Permission.new(resp["object"])
246
- else
247
- return nil
248
- end
211
+ return ApiResponse.new(resp)
249
212
  end
250
213
 
251
214
  def create_permission(permission)
252
- resp = self.class.post("/api/v1/permissions/#{id}", body: {permission: permission}.to_json, headers: self.get_headers).parsed_response
215
+ body = {permission: permission}
216
+ resp = self.class.post("/api/v1/permissions/#{id}", body: body.to_json, headers: self.get_headers).parsed_response
253
217
 
254
- if resp["success"] == true
255
- return Permission.new(resp["object"])
256
- else
257
- return nil
258
- end
218
+ return ApiResponse.new(resp)
259
219
  end
260
220
 
261
221
  def update_permission(id, attributes)
262
- resp = self.class.put("/api/v1/permissions/#{id}", body: {permission: attributes}.to_json, headers: self.get_headers).parsed_response
222
+ body = {permission: attributes}
223
+ resp = self.class.put("/api/v1/permissions/#{id}", body: body.to_json, headers: self.get_headers).parsed_response
263
224
 
264
- if resp["success"] == true
265
- return Permission.new(resp["object"])
266
- else
267
- return nil
268
- end
225
+ return ApiResponse.new(resp)
269
226
  end
270
227
 
271
228
  def destroy_permission(id)
272
229
  resp = self.class.delete("/api/v1/permissions/#{id}", headers: self.get_headers).parsed_response
273
230
 
274
- if resp["success"] == true
275
- return Permission.new(resp["object"])
276
- else
277
- return nil
278
- end
231
+ return ApiResponse.new(resp)
279
232
  end
280
233
  end
281
234
 
@@ -286,12 +239,10 @@ module ZeusSdk::V1
286
239
  data: data,
287
240
  exp: exp.to_i
288
241
  }
289
- #ENV["ZEUS_AUTH_SECRET_KEY"]
290
242
  JWT.encode(payload, key, 'HS256')
291
243
  end
292
244
 
293
245
  def decode(token, key)
294
- #ENV["ZEUS_AUTH_SECRET_KEY"]
295
246
  body = JWT.decode(token, key, true, { algorithm: 'HS256' })[0]
296
247
  HashWithIndifferentAccess.new body
297
248
  rescue
@@ -0,0 +1,55 @@
1
+ module ZeusSdk::V1
2
+ class ApiResponse
3
+ attr_accessor :raw, :success, :num_pages, :total, :page, :type
4
+
5
+ def initialize(raw)
6
+ return if raw.blank?
7
+ self.raw = raw
8
+ self.success = raw["success"] if raw.has_key?("success")
9
+ self.num_pages = raw["num_pages"] if raw.has_key?("num_pages")
10
+ self.total = raw["total"] if raw.has_key?("total")
11
+ self.page = raw["page"] if raw.has_key?("page")
12
+ self.type = raw["type"] if raw.has_key?("type")
13
+ end
14
+
15
+ def objects
16
+ objs = self.raw["objects"]
17
+ return [] if objs.blank?
18
+ case self.type
19
+ when "Zeus::Auth::User" then objs.map {|obj| User.new(obj) }
20
+ when "Zeus::Auth::Permission" then objs.map {|obj| Permission.new(obj) }
21
+ when "Zeus::Auth::Role" then objs.map {|obj| Role.new(obj) }
22
+ when "Zeus::Auth::RoleUser" then objs.map {|obj| RoleUser.new(obj) }
23
+ when "Zeus::Auth::WaitingList" then objs.map {|obj| WaitingList.new(obj) }
24
+ when "Zeus::Auth::WaitingListEmail" then objs.map {|obj| WaitingListEmail.new(obj) }
25
+ when "Zeus::Assets::Image" then objs.map {|obj| Image.new(obj) }
26
+ when "Zeus::Multiplayer::Document" then objs.map {|obj| Document.new(obj) }
27
+ when "Zeus::Multiplayer::Node" then objs.map {|obj| Node.new(obj) }
28
+ end
29
+ end
30
+
31
+ def object
32
+ obj = self.raw["object"]
33
+ return nil if obj.blank?
34
+ case self.type
35
+ when "Zeus::Auth::User" then User.new(obj)
36
+ when "Zeus::Auth::Permission" then Permission.new(obj)
37
+ when "Zeus::Auth::Role" then Role.new(obj)
38
+ when "Zeus::Auth::RoleUser" then RoleUser.new(obj)
39
+ when "Zeus::Auth::WaitingList" then WaitingList.new(obj)
40
+ when "Zeus::Auth::WaitingListEmail" then WaitingListEmail.new(obj)
41
+ when "Zeus::Assets::Image" then Image.new(obj)
42
+ when "Zeus::Multiplayer::Document" then Document.new(obj)
43
+ when "Zeus::Multiplayer::Node" then Node.new(obj)
44
+ end
45
+ end
46
+
47
+ def as_json(options={})
48
+ self.raw
49
+ end
50
+
51
+ def to_json(options={})
52
+ self.as_json(options).to_json
53
+ end
54
+ end
55
+ end
@@ -1,12 +1,13 @@
1
1
  module ZeusSdk::V1
2
2
  class Image
3
- attr_accessor :raw, :image_id, :urls, :presigned_url, :created_at, :updated_at
3
+ attr_accessor :raw, :image_id, :urls, :presigned_url, :presigned_post, :created_at, :updated_at
4
4
 
5
5
  def initialize(obj)
6
6
  self.raw = obj
7
7
  self.image_id = obj["id"]
8
8
  self.urls = obj["urls"]
9
9
  self.presigned_url = obj["presigned_url"]
10
+ self.presigned_post = obj["presigned_post"]
10
11
  self.created_at = obj["created_at"]
11
12
  self.updated_at = obj["updated_at"]
12
13
  end
@@ -16,13 +17,14 @@ module ZeusSdk::V1
16
17
  id: self.image_id,
17
18
  urls: self.urls,
18
19
  presigned_url: self.presigned_url,
20
+ presigned_post: self.presigned_post,
19
21
  created_at: self.created_at,
20
22
  updated_at: self.updated_at
21
23
  }
22
24
  end
23
25
 
24
26
  def to_s
25
- "Image(id: #{self.image_id}, presigned_url: #{self.presigned_url}, urls: #{self.urls})"
27
+ "Image(id: #{self.image_id}, urls: #{self.urls})"
26
28
  end
27
29
  end
28
30
  end
@@ -1,6 +1,6 @@
1
1
  module ZeusSdk::V1
2
2
  class User
3
- attr_accessor :raw, :user_id, :name, :email, :email_verified, :first_name, :last_name, :created_at, :updated_at
3
+ attr_accessor :raw, :user_id, :name, :email, :email_verified, :first_name, :last_name, :created_at, :updated_at, :touched_at, :deleted_at
4
4
 
5
5
  def initialize(user)
6
6
  return if user.blank?
@@ -13,6 +13,8 @@ module ZeusSdk::V1
13
13
  self.email_verified = user["email_verified"] if user.has_key?("email_verified")
14
14
  self.created_at = user["created_at"] if user.has_key?("created_at")
15
15
  self.updated_at = user["updated_at"] if user.has_key?("updated_at")
16
+ self.touched_at = user["touched_at"] if user.has_key?("touched_at")
17
+ self.deleted_at = user["deleted_at"] if user.has_key?("deleted_at")
16
18
  end
17
19
 
18
20
  def as_json(options={})
@@ -24,7 +26,9 @@ module ZeusSdk::V1
24
26
  email: self.email,
25
27
  email_verified: self.email_verified,
26
28
  created_at: self.created_at,
27
- updated_at: self.updated_at
29
+ updated_at: self.updated_at,
30
+ touched_at: self.touched_at,
31
+ deleted_at: self.deleted_at
28
32
  }
29
33
  end
30
34
 
@@ -10,94 +10,55 @@ module ZeusSdk::V1
10
10
 
11
11
  def list_documents(query)
12
12
  resp = self.class.get("/api/v1/documents", query: query, headers: self.get_headers).parsed_response
13
- if resp["success"] == true
14
- return resp["objects"].map {|d| Document.new(d) }
15
- else
16
- puts(resp.inspect)
17
- return nil
18
- end
13
+ return ApiResponse.new(resp)
19
14
  end
20
15
 
21
16
  def create_document(document)
22
- resp = self.class.post("/api/v1/documents", body: {document: document}.to_json, headers: self.get_headers).parsed_response
23
- if resp["success"] == true
24
- return Document.new(resp["object"])
25
- else
26
- return nil
27
- end
17
+ body = {document: document}
18
+ resp = self.class.post("/api/v1/documents", body: body.to_json, headers: self.get_headers).parsed_response
19
+ return ApiResponse.new(resp)
28
20
  end
29
21
 
30
22
  def get_document(id)
31
23
  resp = self.class.get("/api/v1/documents/#{id}", headers: self.get_headers).parsed_response
32
- if resp["success"] == true
33
- return Document.new(resp["object"])
34
- else
35
- return nil
36
- end
24
+ return ApiResponse.new(resp)
37
25
  end
38
26
 
39
27
  def update_document(id, document)
40
- resp = self.class.put("/api/v1/documents/#{id}", body: {document: document}.to_json, headers: self.get_headers).parsed_response
41
- if resp["success"] == true
42
- return Document.new(resp["object"])
43
- else
44
- return nil
45
- end
28
+ body = {document: document}
29
+ resp = self.class.put("/api/v1/documents/#{id}", body: body.to_json, headers: self.get_headers).parsed_response
30
+ return ApiResponse.new(resp)
46
31
  end
47
32
 
48
33
  def destroy_document(id)
49
34
  resp = self.class.delete("/api/v1/documents/#{id}", headers: self.get_headers).parsed_response
50
- if resp["success"] == true
51
- return Document.new(resp["object"])
52
- else
53
- return nil
54
- end
35
+ return ApiResponse.new(resp)
55
36
  end
56
37
 
57
38
  def list_nodes(query)
58
39
  resp = self.class.get("/api/v1/nodes", query: query, headers: self.get_headers).parsed_response
59
- if resp["success"] == true
60
- return resp["objects"].map {|d| Node.new(d) }
61
- else
62
-
63
- return nil
64
- end
40
+ return ApiResponse.new(resp)
65
41
  end
66
42
 
67
43
  def create_node(node)
68
- resp = self.class.post("/api/v1/nodes", body: {node: node}.to_json, headers: self.get_headers).parsed_response
69
- if resp["success"] == true
70
- return Node.new(resp["object"])
71
- else
72
- return nil
73
- end
44
+ body = {node: node}
45
+ resp = self.class.post("/api/v1/nodes", body: body.to_json, headers: self.get_headers).parsed_response
46
+ return ApiResponse.new(resp)
74
47
  end
75
48
 
76
49
  def get_node(id)
77
50
  resp = self.class.get("/api/v1/nodes/#{id}", headers: self.get_headers).parsed_response
78
- if resp["success"] == true
79
- return Node.new(resp["object"])
80
- else
81
- return nil
82
- end
51
+ return ApiResponse.new(resp)
83
52
  end
84
53
 
85
54
  def update_node(id, node)
86
55
  resp = self.class.put("/api/v1/nodes/#{id}", body: {node: node}.to_json, headers: self.get_headers).parsed_response
87
- if resp["success"] == true
88
- return Node.new(resp["object"])
89
- else
90
- return nil
91
- end
56
+ return ApiResponse.new(resp)
92
57
  end
93
58
 
94
59
  def destroy_node(id)
95
60
  resp = self.class.delete("/api/v1/nodes/#{id}", headers: self.get_headers).parsed_response
96
- if resp["success"] == true
97
- return Node.new(resp["object"])
98
- else
99
- return nil
100
- end
61
+ return ApiResponse.new(resp)
101
62
  end
102
63
  end
103
64
 
@@ -9,19 +9,24 @@ module ZeusSdk::V1
9
9
  include ServiceBase
10
10
 
11
11
  def list_secrets(query)
12
- self.class.get("/api/v1/secrets", query: query, headers: self.get_headers)
12
+ resp = self.class.get("/api/v1/secrets", query: query, headers: self.get_headers)
13
+ return ApiResponse.new(resp)
13
14
  end
14
15
 
15
16
  def get_secret(key)
16
- self.class.get("/api/v1/secrets/#{key}", headers: self.get_headers)
17
+ resp = self.class.get("/api/v1/secrets/#{key}", headers: self.get_headers)
18
+ return ApiResponse.new(resp)
17
19
  end
18
20
 
19
21
  def set_secret(key, value)
20
- self.class.post("/api/v1/secrets", body: {secret: {key: key, value: value}}.to_json, headers: self.get_headers)
22
+ body = {secret: {key: key, value: value}}
23
+ resp = self.class.post("/api/v1/secrets", body: body.to_json, headers: self.get_headers)
24
+ return ApiResponse.new(resp)
21
25
  end
22
26
 
23
27
  def delete_secret(key)
24
- self.class.post("/api/v1/secrets/#{key}", headers: self.get_headers)
28
+ resp = self.class.post("/api/v1/secrets/#{key}", headers: self.get_headers)
29
+ return ApiResponse.new(resp)
25
30
  end
26
31
  end
27
32
  end
@@ -1,3 +1,3 @@
1
1
  module ZeusSdk
2
- VERSION = "0.6.3"
2
+ VERSION = "0.6.9"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zeus_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 0.6.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Campbell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-28 00:00:00.000000000 Z
11
+ date: 2021-06-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -68,6 +68,7 @@ files:
68
68
  - lib/zeus_sdk/v1/auth.rb
69
69
  - lib/zeus_sdk/v1/content.rb
70
70
  - lib/zeus_sdk/v1/core.rb
71
+ - lib/zeus_sdk/v1/models/api_response.rb
71
72
  - lib/zeus_sdk/v1/models/assets/image.rb
72
73
  - lib/zeus_sdk/v1/models/auth/permission.rb
73
74
  - lib/zeus_sdk/v1/models/auth/role.rb
@@ -103,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
104
  - !ruby/object:Gem::Version
104
105
  version: '0'
105
106
  requirements: []
106
- rubygems_version: 3.2.3
107
+ rubygems_version: 3.2.15
107
108
  signing_key:
108
109
  specification_version: 4
109
110
  summary: Ruby SDK for Zeus APIs