isomorfeus-data 1.0.0.epsilon1 → 1.0.0.epsilon2

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: 9db4aa25056d5a842ca76ac763a6a1d3458fdfb04cf5115897844887165bd33c
4
- data.tar.gz: 7482e313437e0d3c3d1ccc856a6a61583f4b997c39965dffdadf393afdeb953d
3
+ metadata.gz: 5e3c0008c0b7a6498ba52310bfd8c72ddad9317f86b37a636ce587a4bd849a97
4
+ data.tar.gz: 4ff296d8cc02db814adf92d00cae08f202a2dd0d29926552393eb4e4213b1179
5
5
  SHA512:
6
- metadata.gz: fcf99ce8595074faac95e3ba10cc1157c937ed0223b4307d1696590cf48a580375ec772332b9c128ff7540053c4674d2a8cda309efb46b532974ae53c023ae6b
7
- data.tar.gz: ef13d889b4b3b3ca87c53389701df85841dc6d6f0ec0e9f20b0b7c4e07866a59fb25e863e97fa2c572c374e4ec6cea10f6e53c8629267c8396602ca2fcccdedc
6
+ metadata.gz: bd56a019dda4749778351430f28cfb8d46caf718ceeb068adc43e240b18d1f3b78a3a4d04465f8cd62080379719d6aedb82e97672cb4ed62d56ea428d8ee4706
7
+ data.tar.gz: d5e97819f76f229c9c320645cec97dd69570f54c4ce13b7a6d21e3a95563597a8f2cd82b87a744c47284a9591fb148140f14304a97ea7469faab54088fbe17e2
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Isomorfeus
2
4
  module Data
3
5
  module Handler
4
6
  class ArrayLoadHandler < LucidHandler::Base
5
- on_request do |pub_sub_client, session_id, current_user, request, response|
7
+ on_request do |pub_sub_client, current_user, request, response|
6
8
  result = { error: 'No such thing' }
7
9
  # promise_send_path('Isomorfeus::Data::Handler::CollectionLoadHandler', self.to_s, props_hash)
8
10
  request.each_key do |array_class_name|
@@ -12,13 +14,17 @@ module Isomorfeus
12
14
  props_json = request[array_class_name]
13
15
  begin
14
16
  props = Oj.load(props_json, mode: :strict)
15
- props.merge!({pub_sub_client: pub_sub_client, session_id: session_id, current_user: current_user})
16
- array = array_class.load(props)
17
- array.instance_exec do
18
- array_class.on_load_block.call(pub_sub_client, session_id, current_user) if array_class.on_load_block
17
+ props.merge!({pub_sub_client: pub_sub_client, current_user: current_user})
18
+ if current_user.authorized?(array_class, :load, *props)
19
+ array = array_class.load(props)
20
+ array.instance_exec do
21
+ array_class.on_load_block.call(pub_sub_client, current_user) if array_class.on_load_block
22
+ end
23
+ response.deep_merge!(data: array.to_transport)
24
+ result = { success: 'ok' }
25
+ else
26
+ result = { error: 'Access denied!' }
19
27
  end
20
- response.deep_merge!(data: array.to_transport)
21
- result = { success: 'ok' }
22
28
  rescue Exception => e
23
29
  result = if Isomorfeus.production?
24
30
  { error: { array_class_name => 'No such thing!' }}
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Isomorfeus
2
4
  module Data
3
5
  module Handler
4
6
  class CollectionLoadHandler < LucidHandler::Base
5
- on_request do |pub_sub_client, session_id, current_user, request, response|
7
+ on_request do |pub_sub_client, current_user, request, response|
6
8
  result = { error: 'No such thing' }
7
9
  # promise_send_path('Isomorfeus::Data::Handler::CollectionLoadHandler', self.to_s, props_hash)
8
10
  request.each_key do |collection_class_name|
@@ -12,14 +14,18 @@ module Isomorfeus
12
14
  props_json = request[collection_class_name]
13
15
  begin
14
16
  props = Oj.load(props_json, mode: :strict)
15
- props.merge!({pub_sub_client: pub_sub_client, session_id: session_id, current_user: current_user})
16
- collection = collection_class.load(props)
17
- collection.instance_exec do
18
- collection_class.on_load_block.call(pub_sub_client, session_id, current_user) if collection_class.on_load_block
17
+ props.merge!({pub_sub_client: pub_sub_client, current_user: current_user})
18
+ if current_user.authorized?(collection_class, :load, *props)
19
+ collection = collection_class.load(props)
20
+ collection.instance_exec do
21
+ collection_class.on_load_block.call(pub_sub_client, current_user) if collection_class.on_load_block
22
+ end
23
+ response.deep_merge!(data: collection.to_transport)
24
+ response.deep_merge!(data: collection.included_items_to_transport)
25
+ result = { success: 'ok' }
26
+ else
27
+ result = { error: 'Access denied!' }
19
28
  end
20
- response.deep_merge!(data: collection.to_transport)
21
- response.deep_merge!(data: collection.included_items_to_transport)
22
- result = { success: 'ok' }
23
29
  rescue Exception => e
24
30
  result = if Isomorfeus.production?
25
31
  { error: { collection_class_name => 'No such thing!' }}
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Isomorfeus
2
4
  module Data
3
5
  module Handler
4
6
  class GraphLoadHandler < LucidHandler::Base
5
- on_request do |pub_sub_client, session_id, current_user, request, response|
7
+ on_request do |pub_sub_client, current_user, request, response|
6
8
  result = { error: 'No such thing' }
7
9
  # promise_send_path('Isomorfeus::Data::Handler::GraphLoadHandler', self.to_s, props_hash)
8
10
  request.each_key do |graph_class_name|
@@ -12,14 +14,18 @@ module Isomorfeus
12
14
  props_json = request[graph_class_name]
13
15
  begin
14
16
  props = Oj.load(props_json, mode: :strict)
15
- props.merge!({pub_sub_client: pub_sub_client, session_id: session_id, current_user: current_user})
16
- graph = graph_class.load(props)
17
- graph.instance_exec do
18
- graph_class.on_load_block.call(pub_sub_client, session_id, current_user) if graph_class.on_load_block
17
+ props.merge!({pub_sub_client: pub_sub_client, current_user: current_user})
18
+ if current_user.authorized?(graph_class, :load, *props)
19
+ graph = graph_class.load(props)
20
+ graph.instance_exec do
21
+ graph_class.on_load_block.call(pub_sub_client, current_user) if graph_class.on_load_block
22
+ end
23
+ response.deep_merge!(data: graph.to_transport)
24
+ response.deep_merge!(data: graph.included_items_to_transport)
25
+ result = { success: 'ok' }
26
+ else
27
+ result = { error: 'Access denied!' }
19
28
  end
20
- response.deep_merge!(data: graph.to_transport)
21
- response.deep_merge!(data: graph.included_items_to_transport)
22
- result = { success: 'ok' }
23
29
  rescue Exception => e
24
30
  result = if Isomorfeus.production?
25
31
  { error: { graph_class_name => 'No such thing!' }}
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Isomorfeus
2
4
  module Data
3
5
  module Handler
4
6
  class HashLoadHandler < LucidHandler::Base
5
- on_request do |pub_sub_client, session_id, current_user, request, response|
7
+ on_request do |pub_sub_client, current_user, request, response|
6
8
  result = { error: 'No such thing' }
7
9
  # promise_send_path('Isomorfeus::Data::Handler::HashLoadHandler', self.to_s, props_hash)
8
10
  request.each_key do |hash_class_name|
@@ -12,13 +14,17 @@ module Isomorfeus
12
14
  props_json = request[hash_class_name]
13
15
  begin
14
16
  props = Oj.load(props_json, mode: :strict)
15
- props.merge!({pub_sub_client: pub_sub_client, session_id: session_id, current_user: current_user})
16
- hash = hash_class.load(props)
17
- hash.instance_exec do
18
- hash_class.on_load_block.call(pub_sub_client, session_id, current_user) if hash_class.on_load_block
17
+ props.merge!({pub_sub_client: pub_sub_client, current_user: current_user})
18
+ if current_user.authorized?(hash_class, :load, *props)
19
+ hash = hash_class.load(props)
20
+ hash.instance_exec do
21
+ hash_class.on_load_block.call(pub_sub_client, current_user) if hash_class.on_load_block
22
+ end
23
+ response.deep_merge!(data: hash.to_transport)
24
+ result = { success: 'ok' }
25
+ else
26
+ result = { error: 'Access denied!' }
19
27
  end
20
- response.deep_merge!(data: hash.to_transport)
21
- result = { success: 'ok' }
22
28
  rescue Exception => e
23
29
  result = if Isomorfeus.production?
24
30
  { error: { hash_class_name => 'No such thing!' }}
@@ -84,7 +84,6 @@ module Isomorfeus
84
84
  def to_transport
85
85
  transport_hash = {}.merge(@props_hash)
86
86
  transport_hash.delete(:pub_sub_client)
87
- transport_hash.delete(:session_id)
88
87
  transport_hash.delete(:current_user)
89
88
  transport_hash
90
89
  end
@@ -1,5 +1,5 @@
1
1
  module Isomorfeus
2
2
  module Data
3
- VERSION = '1.0.0.epsilon1'
3
+ VERSION = '1.0.0.epsilon2'
4
4
  end
5
5
  end
@@ -7,7 +7,6 @@ module LucidArray
7
7
  Isomorfeus.add_valid_array_class(base)
8
8
 
9
9
  base.prop :pub_sub_client, default: nil
10
- base.prop :session_id, default: nil
11
10
  base.prop :current_user, default: nil
12
11
  end
13
12
  end
@@ -95,7 +95,6 @@ module LucidArray
95
95
  else # RUBY_ENGINE
96
96
  unless base == LucidArray::Base
97
97
  base.prop :pub_sub_client, default: nil
98
- base.prop :session_id, default: nil
99
98
  base.prop :current_user, default: nil
100
99
  end
101
100
 
@@ -7,7 +7,6 @@ module LucidCollection
7
7
  Isomorfeus.add_valid_collection_class(base)
8
8
 
9
9
  base.prop :pub_sub_client, default: nil
10
- base.prop :session_id, default: nil
11
10
  base.prop :current_user, default: nil
12
11
  end
13
12
  end
@@ -175,7 +175,6 @@ module LucidCollection
175
175
  else # RUBY_ENGINE
176
176
  unless base == LucidCollection::Base
177
177
  base.prop :pub_sub_client, default: nil
178
- base.prop :session_id, default: nil
179
178
  base.prop :current_user, default: nil
180
179
  end
181
180
 
@@ -7,7 +7,6 @@ module LucidGraph
7
7
  Isomorfeus.add_valid_graph_class(base)
8
8
 
9
9
  base.prop :pub_sub_client, default: nil
10
- base.prop :session_id, default: nil
11
10
  base.prop :current_user, default: nil
12
11
  end
13
12
  end
@@ -486,7 +486,6 @@ module LucidGraph
486
486
  else # RUBY_ENGINE
487
487
  unless base == LucidGraph::Base
488
488
  base.prop :pub_sub_client, default: nil
489
- base.prop :session_id, default: nil
490
489
  base.prop :current_user, default: nil
491
490
  end
492
491
 
@@ -7,7 +7,6 @@ module LucidHash
7
7
  Isomorfeus.add_valid_hash_class(base)
8
8
 
9
9
  base.prop :pub_sub_client, default: nil
10
- base.prop :session_id, default: nil
11
10
  base.prop :current_user, default: nil
12
11
  end
13
12
  end
@@ -109,7 +109,6 @@ module LucidHash
109
109
  else # RUBY_ENGINE
110
110
  unless base == LucidHash::Base
111
111
  base.prop :pub_sub_client, default: nil
112
- base.prop :session_id, default: nil
113
112
  base.prop :current_user, default: nil
114
113
  end
115
114
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isomorfeus-data
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.epsilon1
4
+ version: 1.0.0.epsilon2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Biedermann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-16 00:00:00.000000000 Z
11
+ date: 2019-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 16.9.2
89
+ version: 16.9.4
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: 16.9.2
96
+ version: 16.9.4
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: isomorfeus-redux
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -114,14 +114,42 @@ dependencies:
114
114
  requirements:
115
115
  - - '='
116
116
  - !ruby/object:Gem::Version
117
- version: 1.0.0.epsilon1
117
+ version: 1.0.0.epsilon2
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - '='
123
123
  - !ruby/object:Gem::Version
124
- version: 1.0.0.epsilon1
124
+ version: 1.0.0.epsilon2
125
+ - !ruby/object:Gem::Dependency
126
+ name: isomorfeus-installer
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '='
130
+ - !ruby/object:Gem::Version
131
+ version: 1.0.0.epsilon2
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '='
137
+ - !ruby/object:Gem::Version
138
+ version: 1.0.0.epsilon2
139
+ - !ruby/object:Gem::Dependency
140
+ name: opal-webpack-loader
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: 0.9.4
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: 0.9.4
125
153
  - !ruby/object:Gem::Dependency
126
154
  name: rake
127
155
  requirement: !ruby/object:Gem::Requirement