zeus_sdk 0.6.3 → 0.6.9

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