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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b2fabf1063f584c4383dba0a30cae778abc00481a99904bab7388b9858ab6f4e
4
- data.tar.gz: 80c5d3778cd8d594401f4ee239e0b8674e5c74165abfd9492b5b3469bf0db158
3
+ metadata.gz: 11e41a9565975a803100e1e27395c3a426cbd178ceadd9c17f894bb38a436d92
4
+ data.tar.gz: 8a1655860e7b0714b096c8ec21da0e68ffa8eaf17107c7e559b8badd7d3b4f9c
5
5
  SHA512:
6
- metadata.gz: 307710b2d0d05829e214c13cc2420b67d36dba5c4f66538aa0664d484f79dcf7bafebb914093bc63a65b131e2acc484577688635a6075f8433b854d02d3b4f18
7
- data.tar.gz: edf6e6361c2fa539dd8cde02bba5f193e0d4c13acc5fb5ec3bac09d00a9aa061437338f752c5ee7d255305baee56a3184f54ae12ec2dc00ec3a0e1c8f74453c4
6
+ metadata.gz: 2c27422dbe09b0dbd7fbac0d6015a5dc244eb8d0495e44c568a3e86c1dffcdc2a8d7b93401d0ca032c88842e3f02d95b39134ac798bd10e55dc9163dd72be3a4
7
+ data.tar.gz: fb241ee61708908f7906440fbcd077d1578f0d433977bfc942fd5a52d41eeba4e6f171ab9a1b32b6550774afe9f11ec8420d8362264682892152c5efbaf630a8
@@ -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]
@@ -1,3 +1,3 @@
1
1
  module ZeusSdk
2
- VERSION = "0.5.5"
2
+ VERSION = "0.6.0"
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.5.5
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-24 00:00:00.000000000 Z
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