zeus_sdk 0.4.8 → 0.5.4

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