zeus_sdk 0.4.8 → 0.5.4

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: c67ec310779e8e97b6240827b9a0f27959adadc5c919750bc18aea18e82d29d6
4
- data.tar.gz: 488a9f80a05877e919303aa4829b311dc0c3c6093322d9056c71bcdcb47aff51
3
+ metadata.gz: 0dd5f26f708fe0d309482e00f1b247b8f1d531140c0ad50996907877f2071f2d
4
+ data.tar.gz: 88829676b0a6302426239ba2408899f47905ecfcdb741610b746e569c1c58e73
5
5
  SHA512:
6
- metadata.gz: e3478977aaf4fee1b0d446d44dc83c73402b2f2f8575affb0acdc8a293de0639c44bca41c6467926ee0305063be2046936dd5c62fdbb2407362cd0c5a8d9d48f
7
- data.tar.gz: bdb6c9335571c3f53f34137282ecbf9c9cf273aea95f6f09664cac72b5f3bdb2f2495d27cf6da7801c44819aaf5f5b00e5f597b3be5bf881d280bdd1bac448ce
6
+ metadata.gz: 4f389332031eaa4af20c266444269b14b5829f1dd0fa21922e2d33af07bcd7127cadbb66a992b0249694bd5a3815721dde2ce7eaf1c4b27afdd35cee74d2431b
7
+ data.tar.gz: 7712a35e33c5bb8c7d3f4b4f449a2cd131b177080d0830f73bfb39d9a8c4076c66f82b6f2557b9f9964dc33e404da8105e30c71f8a457de2f06d79600048562e
data/lib/zeus_sdk.rb CHANGED
@@ -20,5 +20,6 @@ module ZeusSdk
20
20
  require "zeus_sdk/v1/models/auth/user"
21
21
  require "zeus_sdk/v1/models/multiplayer/document"
22
22
  require "zeus_sdk/v1/models/multiplayer/node"
23
+ require "zeus_sdk/v1/models/assets/image"
23
24
  end
24
25
  end
@@ -7,5 +7,60 @@ module ZeusSdk::V1
7
7
 
8
8
  include HTTParty
9
9
  include ServiceBase
10
+
11
+ def list_images(query)
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
19
+ end
20
+
21
+ 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
28
+ end
29
+
30
+ def get_image(id)
31
+ 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
37
+ end
38
+
39
+ def get_image_variants(id)
40
+ 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
46
+ end
47
+
48
+ 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
55
+ end
56
+
57
+ def destroy_image(id)
58
+ 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
64
+ end
10
65
  end
11
66
  end
@@ -44,13 +44,16 @@ module ZeusSdk::V1
44
44
 
45
45
  class AuthJWT
46
46
  class << self
47
- def encode(payload, exp = 6.months.from_now)
48
- payload[:exp] = exp.to_i
49
- JWT.encode(payload, ENV["ZEUS_AUTH_SECRET_KEY"])
47
+ def encode(data, exp = 6.months.from_now)
48
+ payload = {
49
+ data: data,
50
+ exp: exp.to_i
51
+ }
52
+ JWT.encode(payload, ENV["ZEUS_AUTH_SECRET_KEY"], 'HS256')
50
53
  end
51
54
 
52
55
  def decode(token)
53
- body = JWT.decode(token, ENV["ZEUS_AUTH_SECRET_KEY"])[0]
56
+ body = JWT.decode(token, ENV["ZEUS_AUTH_SECRET_KEY"], true, { algorithm: 'HS256' })[0]
54
57
  HashWithIndifferentAccess.new body
55
58
  rescue
56
59
  nil
@@ -0,0 +1,28 @@
1
+ module ZeusSdk::V1
2
+ class Image
3
+ attr_accessor :raw, :image_id, :urls, :presigned_url, :created_at, :updated_at
4
+
5
+ def initialize(obj)
6
+ self.raw = obj
7
+ self.image_id = obj["id"]
8
+ self.urls = obj["urls"]
9
+ self.presigned_url = obj["presigned_url"]
10
+ self.created_at = obj["created_at"]
11
+ self.updated_at = obj["updated_at"]
12
+ end
13
+
14
+ def as_json(options={})
15
+ return {
16
+ id: self.image_id,
17
+ urls: self.urls,
18
+ presigned_url: self.presigned_url,
19
+ created_at: self.created_at,
20
+ updated_at: self.updated_at
21
+ }
22
+ end
23
+
24
+ def to_s
25
+ "Image(id: #{self.image_id}, presigned_url: #{self.presigned_url}, urls: #{self.urls})"
26
+ end
27
+ end
28
+ end
@@ -1,10 +1,11 @@
1
1
  module ZeusSdk::V1
2
2
  class User
3
- attr_accessor :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
4
4
 
5
5
  def initialize(user)
6
6
  return if user.blank?
7
- self.id = user["id"] if user.has_key?("id")
7
+ self.raw = user
8
+ self.user_id = user["id"] if user.has_key?("id")
8
9
  self.name = user["name"] if user.has_key?("name")
9
10
  self.first_name = user["first_name"] if user.has_key?("first_name")
10
11
  self.last_name = user["last_name"] if user.has_key?("last_name")
@@ -16,7 +17,7 @@ module ZeusSdk::V1
16
17
 
17
18
  def as_json(options={})
18
19
  {
19
- id: self.id,
20
+ id: self.user_id,
20
21
  name: self.name,
21
22
  first_name: self.first_name,
22
23
  last_name: self.last_name,
@@ -1,9 +1,10 @@
1
1
  module ZeusSdk::V1
2
2
  class Document
3
- attr_accessor :id, :name, :created_at, :updated_at
3
+ attr_accessor :raw, :document_id, :name, :created_at, :updated_at
4
4
 
5
5
  def initialize(doc)
6
- self.id = doc["id"]
6
+ self.raw = doc
7
+ self.document_id = doc["id"]
7
8
  self.name = doc["name"]
8
9
  self.created_at = doc["created_at"]
9
10
  self.updated_at = doc["updated_at"]
@@ -11,11 +12,15 @@ module ZeusSdk::V1
11
12
 
12
13
  def as_json(options={})
13
14
  return {
14
- id: self.id,
15
+ id: self.document_id,
15
16
  name: self.name,
16
17
  created_at: self.created_at,
17
18
  updated_at: self.updated_at
18
19
  }
19
20
  end
21
+
22
+ def to_s
23
+ "Document(id: #{self.document_id}, name: #{self.name})"
24
+ end
20
25
  end
21
26
  end
@@ -1,9 +1,11 @@
1
1
  module ZeusSdk::V1
2
2
  class Node
3
- attr_accessor :id, :document_id, :name, :type, :properties, :created_at, :updated_at
3
+ attr_accessor :raw, :node_id, :document_id, :name, :type, :properties, :created_at, :updated_at
4
4
 
5
5
  def initialize(node)
6
- self.id = node["id"]
6
+ self.raw = node
7
+ self.node_id = node["id"]
8
+ self.document_id = node["document_id"]
7
9
  self.name = node["name"]
8
10
  self.type = node["type"]
9
11
  self.properties = node["properties"]
@@ -13,7 +15,8 @@ module ZeusSdk::V1
13
15
 
14
16
  def as_json(options={})
15
17
  return {
16
- id: self.id,
18
+ id: self.node_id,
19
+ document_id: self.document_id,
17
20
  name: self.name,
18
21
  type: self.type,
19
22
  properties: self.properties,
@@ -21,5 +24,9 @@ module ZeusSdk::V1
21
24
  updated_at: self.updated_at
22
25
  }
23
26
  end
27
+
28
+ def to_s
29
+ "Node(id: #{self.node_id}, document_id: #{self.document_id}, name: #{self.name}, type: #{self.type}, properties: #{self.properties}, created_at: #{self.created_at}, updated_at: #{self.updated_at})"
30
+ end
24
31
  end
25
32
  end
@@ -56,9 +56,6 @@ module ZeusSdk::V1
56
56
 
57
57
  def list_nodes(query)
58
58
  resp = self.class.get("/api/v1/nodes", query: query, headers: self.get_headers).parsed_response
59
- puts(query.inspect)
60
- puts(resp.inspect)
61
-
62
59
  if resp["success"] == true
63
60
  return resp["objects"].map {|d| Node.new(d) }
64
61
  else
@@ -1,3 +1,3 @@
1
1
  module ZeusSdk
2
- VERSION = "0.4.8"
2
+ VERSION = "0.5.4"
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.4.8
4
+ version: 0.5.4
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-16 00:00:00.000000000 Z
11
+ date: 2021-03-24 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/assets/image.rb
71
72
  - lib/zeus_sdk/v1/models/auth/user.rb
72
73
  - lib/zeus_sdk/v1/models/multiplayer/document.rb
73
74
  - lib/zeus_sdk/v1/models/multiplayer/node.rb