ibrain-core 0.2.4 → 0.2.8

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: aad014a1809bbdc92cf12e40c1bb93a13676eb1784c3d70cfbc2ef9acec56bf4
4
- data.tar.gz: ef00aca082945b77603b6cc5023b7d60361c4c2831b9202db188dbec73848126
3
+ metadata.gz: '085ed2e1adbafa549c23f84cfb156aaf4dd1b1fb93bd244f222c856f57627db1'
4
+ data.tar.gz: 293a36cbcf387d597f4ea99cb19fea23e96db8d881fb286ec7cec9ac74289105
5
5
  SHA512:
6
- metadata.gz: 675dedca74cf17d386a6eca4b6daf6d34a92ee8c4162e657fc01c9c514438aab8d260ac1ca8c0697c16bd5e6ecfafa6324577ae8327341662cb2e8aa60929663
7
- data.tar.gz: 7957cc215b57e8d4dfd028442664aa5734f9de61da5cf8208e15a9c352b5a27edabf7e7abcb332d6c13d918157394ab8fd31768f6fc92107b75e1f06a9725f9c
6
+ metadata.gz: 943dedeb3760b54cffbccf106bdc66674da92d5e460688c836e8d8799fc435bccc0e2724b257c2b353d897ffb0fbe7dbcf6743bfaeba841b86d3d4c6357583ae
7
+ data.tar.gz: 3529b0ddb63f473d34c58b28d9cc56d9b8198bb6380c22bce8981967822167da914c03389d62f7755e0c9af71cd10a4d69803844bd0b405afb81b036840a943a
@@ -32,9 +32,33 @@ module Ibrain
32
32
  protected
33
33
 
34
34
  def normalize_entity
35
- query = params[:query]
36
- operation_name = params[:operationName]
37
- variables = prepare_variables(params[:variables])
35
+ return [params[:query], params[:operationName], prepare_variables(params[:variables])] if params[:variables].present?
36
+
37
+ operations = prepare_variables(params[:operations])
38
+ query = operations['query']
39
+ variables = operations['variables']
40
+ operation_name = operations['operationName']
41
+
42
+ if params[:map].present?
43
+ JSON.parse(params[:map]).each do |k, arguments|
44
+ argument_name = arguments.try(:first).try(:split, '.').try(:second)
45
+ next if argument_name.blank?
46
+
47
+ file = params[k]
48
+
49
+ if variables[argument_name].blank?
50
+ variables[argument_name] = variables[argument_name].is_a?(Array) ? [file] : file
51
+
52
+ next
53
+ end
54
+
55
+ unless variables[argument_name].is_a?(Array)
56
+ variables[argument_name] = [variables[argument_name]]
57
+ end
58
+
59
+ variables[argument_name] = variables[argument_name].concat([file]).compact
60
+ end
61
+ end
38
62
 
39
63
  [query, variables, operation_name]
40
64
  end
@@ -4,10 +4,10 @@ module Ibrain
4
4
  class BaseSchema < ::GraphQL::Schema
5
5
  use GraphQL::Batch
6
6
 
7
- use GraphQL::Guard.new(
8
- policy_object: ::Ibrain::Config.graphql_policy.safe_constantize,
9
- not_authorized: ->(type, field) { raise IbrainErrors::PermissionError.new("You not have permission to access #{type}.#{field}") }
10
- )
7
+ # use GraphQL::Guard.new(
8
+ # policy_object: ::Ibrain::Config.graphql_policy.safe_constantize,
9
+ # not_authorized: ->(type, field) { raise IbrainErrors::PermissionError.new("You not have permission to access #{type}.#{field}") }
10
+ # )
11
11
 
12
12
  # Union and Interface Resolution
13
13
  def self.resolve_type(_abstract_type, _obj, _ctx)
@@ -6,7 +6,6 @@ module Ibrain
6
6
  def after_resolve(object:, value:, **_rest)
7
7
  raise IbrainErrors::PermissionError.new("You not have permission to access #{field&.name}") if is_invalid_role(object)
8
8
 
9
- # yield the current time as `memo`
10
9
  value
11
10
  end
12
11
 
@@ -20,6 +19,8 @@ module Ibrain
20
19
  return if roles.blank?
21
20
  return true if current_user.blank?
22
21
  return false if roles.include?(role)
22
+
23
+ true
23
24
  end
24
25
  end
25
26
  end
@@ -3,6 +3,8 @@
3
3
  module Ibrain
4
4
  module Resolvers
5
5
  class BaseResolver < GraphQL::Schema::Resolver
6
+ argument_class ::Ibrain::Types::BaseArgument
7
+
6
8
  argument :filter, Ibrain::Types::FilterType, required: false, default_value: nil
7
9
  argument :limit, Int, required: false, default_value: 10
8
10
  argument :offset, Int, required: false, default_value: 0
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ibrain
4
- VERSION = "0.2.4"
4
+ VERSION = "0.2.8"
5
5
 
6
6
  def self.ibrain_version
7
7
  VERSION
8
8
  end
9
9
 
10
10
  def self.previous_ibrain_minor_version
11
- '0.2.3'
11
+ '0.2.7'
12
12
  end
13
13
 
14
14
  def self.ibrain_gem_version
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ibrain-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tai Nguyen Van
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-11 00:00:00.000000000 Z
11
+ date: 2022-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord-session_store