zeus_sdk 0.5.5 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/zeus_sdk/v1/auth.rb +178 -1
- data/lib/zeus_sdk/v1/models/auth/permission.rb +29 -0
- data/lib/zeus_sdk/v1/models/auth/role.rb +27 -0
- data/lib/zeus_sdk/v1/models/auth/waiting_list.rb +27 -0
- data/lib/zeus_sdk/v1/models/auth/waiting_list_email.rb +29 -0
- data/lib/zeus_sdk/v1/service_base.rb +7 -1
- data/lib/zeus_sdk/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 11e41a9565975a803100e1e27395c3a426cbd178ceadd9c17f894bb38a436d92
|
4
|
+
data.tar.gz: 8a1655860e7b0714b096c8ec21da0e68ffa8eaf17107c7e559b8badd7d3b4f9c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2c27422dbe09b0dbd7fbac0d6015a5dc244eb8d0495e44c568a3e86c1dffcdc2a8d7b93401d0ca032c88842e3f02d95b39134ac798bd10e55dc9163dd72be3a4
|
7
|
+
data.tar.gz: fb241ee61708908f7906440fbcd077d1578f0d433977bfc942fd5a52d41eeba4e6f171ab9a1b32b6550774afe9f11ec8420d8362264682892152c5efbaf630a8
|
data/lib/zeus_sdk/v1/auth.rb
CHANGED
@@ -40,6 +40,183 @@ module ZeusSdk::V1
|
|
40
40
|
return nil
|
41
41
|
end
|
42
42
|
end
|
43
|
+
|
44
|
+
def create_user(attributes)
|
45
|
+
resp = self.class.post("/api/v1/users", body: {user: attributes}.to_json, headers: self.get_headers).parsed_response
|
46
|
+
if resp["success"] == true
|
47
|
+
return User.new(resp["object"])
|
48
|
+
else
|
49
|
+
return nil
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def update_user(id, attributes)
|
54
|
+
resp = self.class.put("/api/v1/users/#{id}", body: {user: attributes}.to_json, headers: self.get_headers).parsed_response
|
55
|
+
if resp["success"] == true
|
56
|
+
return User.new(resp["object"])
|
57
|
+
else
|
58
|
+
return nil
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def destroy_user(id)
|
63
|
+
resp = self.class.delete("/api/v1/users/#{id}", headers: self.get_headers).parsed_response
|
64
|
+
if resp["success"] == true
|
65
|
+
return User.new(resp["object"])
|
66
|
+
else
|
67
|
+
return nil
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def get_waiting_lists(query)
|
72
|
+
resp = self.class.get("/api/v1/waiting_lists", query: query, headers: self.get_headers).parsed_response
|
73
|
+
|
74
|
+
if resp["success"] == true
|
75
|
+
return resp["objects"].map {|u| WaitingList.new(u) }
|
76
|
+
else
|
77
|
+
return nil
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
def get_waiting_list(id)
|
82
|
+
resp = self.class.get("/api/v1/waiting_lists/#{id}", headers: self.get_headers).parsed_response
|
83
|
+
|
84
|
+
if resp["success"] == true
|
85
|
+
return WaitingList.new(resp["object"])
|
86
|
+
else
|
87
|
+
return nil
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
def create_waiting_list(waiting_list)
|
92
|
+
resp = self.class.post("/api/v1/waiting_lists/#{id}", body: {waiting_list: waiting_list}.to_json, headers: self.get_headers).parsed_response
|
93
|
+
|
94
|
+
if resp["success"] == true
|
95
|
+
return WaitingList.new(resp["object"])
|
96
|
+
else
|
97
|
+
return nil
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
def update_waiting_list(id, attributes)
|
102
|
+
resp = self.class.put("/api/v1/waiting_lists/#{id}", body: {waiting_list: attributes}.to_json, headers: self.get_headers).parsed_response
|
103
|
+
|
104
|
+
if resp["success"] == true
|
105
|
+
return WaitingList.new(resp["object"])
|
106
|
+
else
|
107
|
+
return nil
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
def destroy_waiting_list(id)
|
112
|
+
resp = self.class.delete("/api/v1/waiting_lists/#{id}", headers: self.get_headers).parsed_response
|
113
|
+
|
114
|
+
if resp["success"] == true
|
115
|
+
return WaitingList.new(resp["object"])
|
116
|
+
else
|
117
|
+
return nil
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
def get_roles(query)
|
122
|
+
resp = self.class.get("/api/v1/roles", query: query, headers: self.get_headers).parsed_response
|
123
|
+
|
124
|
+
if resp["success"] == true
|
125
|
+
return resp["objects"].map {|u| Role.new(u) }
|
126
|
+
else
|
127
|
+
return nil
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
def get_role(id)
|
132
|
+
resp = self.class.get("/api/v1/roles/#{id}", headers: self.get_headers).parsed_response
|
133
|
+
|
134
|
+
if resp["success"] == true
|
135
|
+
return Role.new(resp["object"])
|
136
|
+
else
|
137
|
+
return nil
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
def create_role(role)
|
142
|
+
resp = self.class.post("/api/v1/roles/#{id}", body: {role: role}.to_json, headers: self.get_headers).parsed_response
|
143
|
+
|
144
|
+
if resp["success"] == true
|
145
|
+
return Role.new(resp["object"])
|
146
|
+
else
|
147
|
+
return nil
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
def update_role(id, attributes)
|
152
|
+
resp = self.class.put("/api/v1/roles/#{id}", body: {role: attributes}.to_json, headers: self.get_headers).parsed_response
|
153
|
+
|
154
|
+
if resp["success"] == true
|
155
|
+
return Role.new(resp["object"])
|
156
|
+
else
|
157
|
+
return nil
|
158
|
+
end
|
159
|
+
end
|
160
|
+
|
161
|
+
def destroy_role(id)
|
162
|
+
resp = self.class.delete("/api/v1/roles/#{id}", headers: self.get_headers).parsed_response
|
163
|
+
|
164
|
+
if resp["success"] == true
|
165
|
+
return Role.new(resp["object"])
|
166
|
+
else
|
167
|
+
return nil
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
171
|
+
def get_permissions(query)
|
172
|
+
resp = self.class.get("/api/v1/permissions", query: query, headers: self.get_headers).parsed_response
|
173
|
+
|
174
|
+
if resp["success"] == true
|
175
|
+
return resp["objects"].map {|u| Permission.new(u) }
|
176
|
+
else
|
177
|
+
return nil
|
178
|
+
end
|
179
|
+
end
|
180
|
+
|
181
|
+
def get_permission(id)
|
182
|
+
resp = self.class.get("/api/v1/permissions/#{id}", headers: self.get_headers).parsed_response
|
183
|
+
|
184
|
+
if resp["success"] == true
|
185
|
+
return Permission.new(resp["object"])
|
186
|
+
else
|
187
|
+
return nil
|
188
|
+
end
|
189
|
+
end
|
190
|
+
|
191
|
+
def create_permission(permission)
|
192
|
+
resp = self.class.post("/api/v1/permissions/#{id}", body: {permission: permission}.to_json, headers: self.get_headers).parsed_response
|
193
|
+
|
194
|
+
if resp["success"] == true
|
195
|
+
return Permission.new(resp["object"])
|
196
|
+
else
|
197
|
+
return nil
|
198
|
+
end
|
199
|
+
end
|
200
|
+
|
201
|
+
def update_permission(id, attributes)
|
202
|
+
resp = self.class.put("/api/v1/permissions/#{id}", body: {permission: attributes}.to_json, headers: self.get_headers).parsed_response
|
203
|
+
|
204
|
+
if resp["success"] == true
|
205
|
+
return Permission.new(resp["object"])
|
206
|
+
else
|
207
|
+
return nil
|
208
|
+
end
|
209
|
+
end
|
210
|
+
|
211
|
+
def destroy_permission(id)
|
212
|
+
resp = self.class.delete("/api/v1/permissions/#{id}", headers: self.get_headers).parsed_response
|
213
|
+
|
214
|
+
if resp["success"] == true
|
215
|
+
return Permission.new(resp["object"])
|
216
|
+
else
|
217
|
+
return nil
|
218
|
+
end
|
219
|
+
end
|
43
220
|
end
|
44
221
|
|
45
222
|
class AuthJWT
|
@@ -53,7 +230,7 @@ module ZeusSdk::V1
|
|
53
230
|
JWT.encode(payload, key, 'HS256')
|
54
231
|
end
|
55
232
|
|
56
|
-
def decode(token)
|
233
|
+
def decode(token, key)
|
57
234
|
#ENV["ZEUS_AUTH_SECRET_KEY"]
|
58
235
|
body = JWT.decode(token, key, true, { algorithm: 'HS256' })[0]
|
59
236
|
HashWithIndifferentAccess.new body
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module ZeusSdk::V1
|
2
|
+
class Permission
|
3
|
+
attr_accessor :raw, :id, :role_id, :name, :created_at, :updated_at
|
4
|
+
|
5
|
+
def initialize(raw)
|
6
|
+
return if raw.blank?
|
7
|
+
self.raw = raw
|
8
|
+
self.id = raw["id"]
|
9
|
+
self.role_id = raw["role_id"]
|
10
|
+
self.name = raw["name"] if raw.has_key?("name")
|
11
|
+
self.created_at = raw["created_at"] if raw.has_key?("created_at")
|
12
|
+
self.updated_at = raw["updated_at"] if raw.has_key?("updated_at")
|
13
|
+
end
|
14
|
+
|
15
|
+
def as_json(options={})
|
16
|
+
{
|
17
|
+
id: self.id,
|
18
|
+
self.role_id: self.role_id,
|
19
|
+
name: self.name,
|
20
|
+
created_at: self.created_at,
|
21
|
+
updated_at: self.updated_at
|
22
|
+
}
|
23
|
+
end
|
24
|
+
|
25
|
+
def to_json(options={})
|
26
|
+
self.as_json(options).to_json
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module ZeusSdk::V1
|
2
|
+
class Role
|
3
|
+
attr_accessor :raw, :id, :name, :created_at, :updated_at
|
4
|
+
|
5
|
+
def initialize(raw)
|
6
|
+
return if raw.blank?
|
7
|
+
self.raw = raw
|
8
|
+
self.id = raw["id"]
|
9
|
+
self.name = raw["name"] if raw.has_key?("name")
|
10
|
+
self.created_at = raw["created_at"] if raw.has_key?("created_at")
|
11
|
+
self.updated_at = raw["updated_at"] if raw.has_key?("updated_at")
|
12
|
+
end
|
13
|
+
|
14
|
+
def as_json(options={})
|
15
|
+
{
|
16
|
+
id: self.id,
|
17
|
+
name: self.name,
|
18
|
+
created_at: self.created_at,
|
19
|
+
updated_at: self.updated_at
|
20
|
+
}
|
21
|
+
end
|
22
|
+
|
23
|
+
def to_json(options={})
|
24
|
+
self.as_json(options).to_json
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module ZeusSdk::V1
|
2
|
+
class WaitingList
|
3
|
+
attr_accessor :raw, :id, :name, :created_at, :updated_at
|
4
|
+
|
5
|
+
def initialize(waiting_list)
|
6
|
+
return if waiting_list.blank?
|
7
|
+
self.raw = waiting_list
|
8
|
+
self.id = waiting_list["id"]
|
9
|
+
self.name = waiting_list["name"] if waiting_list.has_key?("name")
|
10
|
+
self.created_at = waiting_list["created_at"] if waiting_list.has_key?("created_at")
|
11
|
+
self.updated_at = waiting_list["updated_at"] if waiting_list.has_key?("updated_at")
|
12
|
+
end
|
13
|
+
|
14
|
+
def as_json(options={})
|
15
|
+
{
|
16
|
+
id: self.id,
|
17
|
+
name: self.name,
|
18
|
+
created_at: self.created_at,
|
19
|
+
updated_at: self.updated_at
|
20
|
+
}
|
21
|
+
end
|
22
|
+
|
23
|
+
def to_json(options={})
|
24
|
+
self.as_json(options).to_json
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module ZeusSdk::V1
|
2
|
+
class WaitingListEmail
|
3
|
+
attr_accessor :raw, :id, :waiting_list_id, :name, :created_at, :updated_at
|
4
|
+
|
5
|
+
def initialize(waiting_list_email)
|
6
|
+
return if waiting_list_email.blank?
|
7
|
+
self.raw = waiting_list_email
|
8
|
+
self.id = waiting_list_email["id"]
|
9
|
+
self.waiting_list_id = waiting_list_email["waiting_list_id"]
|
10
|
+
self.name = waiting_list_email["name"] if waiting_list_email.has_key?("name")
|
11
|
+
self.created_at = waiting_list_email["created_at"] if waiting_list_email.has_key?("created_at")
|
12
|
+
self.updated_at = waiting_list_email["updated_at"] if waiting_list_email.has_key?("updated_at")
|
13
|
+
end
|
14
|
+
|
15
|
+
def as_json(options={})
|
16
|
+
{
|
17
|
+
id: self.id,
|
18
|
+
waiting_list_id: self.waiting_list_id,
|
19
|
+
name: self.name,
|
20
|
+
created_at: self.created_at,
|
21
|
+
updated_at: self.updated_at
|
22
|
+
}
|
23
|
+
end
|
24
|
+
|
25
|
+
def to_json(options={})
|
26
|
+
self.as_json(options).to_json
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -9,13 +9,19 @@ module ZeusSdk::V1
|
|
9
9
|
klass.base_uri ZeusSdk::IS_PRODUCTION ? "https://#{klass::SUBDOMAIN}.zeusdev.io" : "http://localhost:#{klass::LOCAL_PORT}"
|
10
10
|
end
|
11
11
|
|
12
|
-
attr_accessor :zeus_auth_key, :public_key, :secret_key, :project_id, :scope, :environment_id
|
12
|
+
attr_accessor :zeus_auth_key, :public_key, :env, :secret_key, :project_id, :scope, :environment_id
|
13
13
|
|
14
14
|
def initialize(params)
|
15
15
|
if params[:zeus_auth_key] == nil && params[:public_key] == nil && params[:secret_key] == nil
|
16
16
|
throw "Must initialize with public_key and secret_key"
|
17
17
|
end
|
18
18
|
|
19
|
+
if params[:env] == "dev" || params[:env] == "development"
|
20
|
+
self.class.base_uri "http://localhost:#{self.class::LOCAL_PORT}"
|
21
|
+
else
|
22
|
+
self.class.base_uri "https://#{self.class::SUBDOMAIN}.zeusdev.io"
|
23
|
+
end
|
24
|
+
|
19
25
|
@zeus_auth_key = params[:zeus_auth_key]
|
20
26
|
@public_key = params[:public_key]
|
21
27
|
@secret_key = params[:secret_key]
|
data/lib/zeus_sdk/version.rb
CHANGED
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.
|
4
|
+
version: 0.6.0
|
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-
|
11
|
+
date: 2021-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -69,7 +69,11 @@ files:
|
|
69
69
|
- lib/zeus_sdk/v1/content.rb
|
70
70
|
- lib/zeus_sdk/v1/core.rb
|
71
71
|
- lib/zeus_sdk/v1/models/assets/image.rb
|
72
|
+
- lib/zeus_sdk/v1/models/auth/permission.rb
|
73
|
+
- lib/zeus_sdk/v1/models/auth/role.rb
|
72
74
|
- lib/zeus_sdk/v1/models/auth/user.rb
|
75
|
+
- lib/zeus_sdk/v1/models/auth/waiting_list.rb
|
76
|
+
- lib/zeus_sdk/v1/models/auth/waiting_list_email.rb
|
73
77
|
- lib/zeus_sdk/v1/models/multiplayer/document.rb
|
74
78
|
- lib/zeus_sdk/v1/models/multiplayer/node.rb
|
75
79
|
- lib/zeus_sdk/v1/multiplayer.rb
|