decidim-api 0.32.1 → 0.32.2

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: 711ce76f6b6ef54bacaa6bc29c43a19b85700f4774f27e103d40e20431951e4a
4
- data.tar.gz: 914f1dd7ea6ef1aa92ac99b571c42d9d469190d9834969b820a0b088e8bbddc0
3
+ metadata.gz: '0554690274d2da30ea2a9479b101b33f8607239ae6e2ccbcf81d89846a06c0d2'
4
+ data.tar.gz: 1f537c5eda8cfee30c3cb239ef4260a97705a1777306b7251a4320f40282775f
5
5
  SHA512:
6
- metadata.gz: 05c4829b1bc14b3e49fb8b5a2063fb2a9342503dba997f9ae4c7872a6cbaebd2aaa8dcdb15fc0d0f9801f34631cd3b99ff1d6f6ff998715e8a58945c4ada5ca1
7
- data.tar.gz: ffdc03c642bbb04d4c325eb48a53be3bc8951b1a86b2900d4c8a8718d167368051eeef3821a7616a4f7be3761e94e48373324462003c9e0ec7d74131da51ecd5
6
+ metadata.gz: 04a72a83c77d17c3c5462d377d5cf90ab5a440cbcc38ff19740b7bcb76f722e5226fd79ded64d5b78319f5d966571b1671174f4671822256f15d79246e19f282
7
+ data.tar.gz: c282a686e98b0c106ed7fc21348b2e8ba985b19407aca665dc49261c715f91aeaccd72b6da75f4252985baa317b515b0fa2f923511cad3c234e68323e53c6147
@@ -3,6 +3,7 @@ cs:
3
3
  decidim:
4
4
  api:
5
5
  errors:
6
+ introspection_disabled: Introspekce je pro tento požadavek zakázána
6
7
  invalid_locale: Poskytnuta neplatná lokalizace
7
8
  locale_argument_error: Při interním zpracování i18n dat došlo k chybě
8
9
  not_found: "%{type} nenalezen"
@@ -1 +1,15 @@
1
+ ---
1
2
  de:
3
+ decidim:
4
+ api:
5
+ errors:
6
+ introspection_disabled: Introspection ist für diese Anfrage deaktiviert
7
+ invalid_locale: Ungültige Spracheinstellung angegeben
8
+ locale_argument_error: Bei der internen Verarbeitung der i18n-Daten ist ein Fehler aufgetreten
9
+ not_found: "%{type} nicht gefunden"
10
+ permission_not_set: Für dieses %{type} wurde keine Berechtigung festgelegt
11
+ recursion_limit_exceeded_error: In der Abfrage wurden zu viele Rekursionen festgestellt
12
+ too_many_aliases_error: Es wurden zu viele Aliase verwendet. Sie haben %{size} Aliase verwendet, erlaubt sind jedoch nur %{limit}.
13
+ unauthorized_field: Sie können das Feld %{field} von %{type} nicht ansehen oder bearbeiten, da Ihnen die Berechtigung dafür fehlt
14
+ unauthorized_mutation: Sie sind nicht berechtigt, diese Änderungsoperation durchzuführen
15
+ unauthorized_object: Sie können dieses %{type} nicht ansehen oder bearbeiten, da Ihnen die Berechtigung dafür fehlt
@@ -12,4 +12,4 @@ es:
12
12
  too_many_aliases_error: Has utilizado demasiados alias (nicknames). Has usado %{size} alias, pero se permite un máximo de %{limit}.
13
13
  unauthorized_field: No puedes ver o editar el campo %{field} en %{type} porque no tienes permiso
14
14
  unauthorized_mutation: No tienes permiso para realizar esta mutación
15
- unauthorized_object: No puedes ver o editar este %{type} porque no tienes permisos
15
+ unauthorized_object: No puedes ver o editar este/a %{type} porque no tienes permisos
@@ -1 +1,15 @@
1
+ ---
1
2
  gl:
3
+ decidim:
4
+ api:
5
+ errors:
6
+ introspection_disabled: A introspección está desactivada para esta solicitude
7
+ invalid_locale: A configuración rexional indicada non é válida
8
+ locale_argument_error: Produciuse un erro ao xestionar internamente os datos de i18n
9
+ not_found: "Non se atopou %{type}"
10
+ permission_not_set: Non se estableceu o permiso para %{type}
11
+ recursion_limit_exceeded_error: Detectáronse demasiadas recursións na consulta
12
+ too_many_aliases_error: Usáronse demasiados alias. Usaches %{size}, pero só se permiten %{limit}.
13
+ unauthorized_field: Non podes ver nin editar o campo %{field} de %{type} porque non tes permiso
14
+ unauthorized_mutation: Non tes permiso para realizar esta mutación
15
+ unauthorized_object: Non podes ver nin editar %{type} porque non tes permisos
data/decidim-api.gemspec CHANGED
@@ -3,7 +3,7 @@
3
3
  $LOAD_PATH.push File.expand_path("lib", __dir__)
4
4
 
5
5
  Gem::Specification.new do |s|
6
- version = "0.32.1"
6
+ version = "0.32.2"
7
7
  s.version = version
8
8
  s.authors = ["Josep Jaume Rey Peroy", "Marc Riera Casals", "Oriol Gual Oliva"]
9
9
  s.email = ["josepjaume@gmail.com", "mrc2407@gmail.com", "oriolgual@gmail.com"]
@@ -31,7 +31,7 @@ Gem::Specification.new do |s|
31
31
 
32
32
  s.add_dependency "decidim-core", version
33
33
  s.add_dependency "devise-jwt", ">= 0.12.1", "< 0.14.0"
34
- s.add_dependency "graphql", ">= 2.4.17", "< 2.6"
34
+ s.add_dependency "graphql", ">= 2.4.17", "< 2.7"
35
35
  s.add_dependency "graphql-docs", ">= 5", "< 7"
36
36
  s.add_dependency "rack-cors", ">= 1", "< 4"
37
37
 
@@ -56,29 +56,39 @@ module Decidim
56
56
  false
57
57
  end
58
58
 
59
- # Injects into context object current_participatory_space and current_component keys as they are needed
59
+ # Injects into the context the current_participatory_space and current_component keys
60
+ # for the object being checked, as they are needed by the permission classes.
60
61
  #
61
62
  # @param object [ActiveModel::Base] The object that is being represented.
62
63
  # @param context [GraphQL::Query::Context] The GraphQL context
63
64
  #
64
65
  # @return Hash
65
66
  def local_context(object, context)
66
- context[:current_participatory_space] ||=
67
- if object.respond_to?(:participatory_space)
68
- object.participatory_space
69
- elsif object.is_a?(Decidim::Participable)
70
- object
71
- end
72
- context[:current_component] ||=
73
- if object.is_a?(Decidim::Component)
74
- object
75
- elsif object.respond_to?(:component)
76
- object.component
77
- end
67
+ participatory_space = participatory_space_for(object)
68
+ component = component_for(object)
69
+
70
+ # Always use the associations of the object being checked. The context
71
+ # is shared by every field in the query, so keeping a previous object's
72
+ # space could authorize resources from a different space.
73
+ context[:current_participatory_space] = participatory_space if participatory_space
74
+ context[:current_component] = component if component
78
75
 
79
76
  context.to_h
80
77
  end
81
78
 
79
+ def participatory_space_for(object)
80
+ return object.participatory_space if object.respond_to?(:participatory_space)
81
+ return object if object.is_a?(Decidim::Participable)
82
+
83
+ component_for(object)&.participatory_space
84
+ end
85
+
86
+ def component_for(object)
87
+ return object if object.is_a?(Decidim::Component)
88
+
89
+ object.component if object.respond_to?(:component)
90
+ end
91
+
82
92
  def local_user_context(object, context)
83
93
  context = local_context(object, context)
84
94
 
@@ -57,6 +57,8 @@ module Decidim
57
57
  end
58
58
 
59
59
  def user(id: nil, nickname: nil)
60
+ return nil if id.blank? && nickname.blank?
61
+
60
62
  Core::UserEntityFinder.new.call(object, { id:, nickname: }, context)
61
63
  end
62
64
 
@@ -16,8 +16,6 @@ FactoryBot.define do
16
16
  organization
17
17
  locale { organization.default_locale }
18
18
  tos_agreement { "1" }
19
- confirmation_sent_at { Time.current }
20
- accepted_tos_version { organization.tos_version }
21
19
  admin { true }
22
20
  admin_terms_accepted_at { Time.current }
23
21
  notifications_sending_frequency { "none" }
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-api version.
5
5
  module Api
6
6
  def self.version
7
- "0.32.1"
7
+ "0.32.2"
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.32.1
4
+ version: 0.32.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - '='
19
19
  - !ruby/object:Gem::Version
20
- version: 0.32.1
20
+ version: 0.32.2
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - '='
26
26
  - !ruby/object:Gem::Version
27
- version: 0.32.1
27
+ version: 0.32.2
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: devise-jwt
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: 2.4.17
55
55
  - - "<"
56
56
  - !ruby/object:Gem::Version
57
- version: '2.6'
57
+ version: '2.7'
58
58
  type: :runtime
59
59
  prerelease: false
60
60
  version_requirements: !ruby/object:Gem::Requirement
@@ -64,7 +64,7 @@ dependencies:
64
64
  version: 2.4.17
65
65
  - - "<"
66
66
  - !ruby/object:Gem::Version
67
- version: '2.6'
67
+ version: '2.7'
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: graphql-docs
70
70
  requirement: !ruby/object:Gem::Requirement
@@ -111,56 +111,56 @@ dependencies:
111
111
  requirements:
112
112
  - - '='
113
113
  - !ruby/object:Gem::Version
114
- version: 0.32.1
114
+ version: 0.32.2
115
115
  type: :development
116
116
  prerelease: false
117
117
  version_requirements: !ruby/object:Gem::Requirement
118
118
  requirements:
119
119
  - - '='
120
120
  - !ruby/object:Gem::Version
121
- version: 0.32.1
121
+ version: 0.32.2
122
122
  - !ruby/object:Gem::Dependency
123
123
  name: decidim-comments
124
124
  requirement: !ruby/object:Gem::Requirement
125
125
  requirements:
126
126
  - - '='
127
127
  - !ruby/object:Gem::Version
128
- version: 0.32.1
128
+ version: 0.32.2
129
129
  type: :development
130
130
  prerelease: false
131
131
  version_requirements: !ruby/object:Gem::Requirement
132
132
  requirements:
133
133
  - - '='
134
134
  - !ruby/object:Gem::Version
135
- version: 0.32.1
135
+ version: 0.32.2
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: decidim-dev
138
138
  requirement: !ruby/object:Gem::Requirement
139
139
  requirements:
140
140
  - - '='
141
141
  - !ruby/object:Gem::Version
142
- version: 0.32.1
142
+ version: 0.32.2
143
143
  type: :development
144
144
  prerelease: false
145
145
  version_requirements: !ruby/object:Gem::Requirement
146
146
  requirements:
147
147
  - - '='
148
148
  - !ruby/object:Gem::Version
149
- version: 0.32.1
149
+ version: 0.32.2
150
150
  - !ruby/object:Gem::Dependency
151
151
  name: decidim-participatory_processes
152
152
  requirement: !ruby/object:Gem::Requirement
153
153
  requirements:
154
154
  - - '='
155
155
  - !ruby/object:Gem::Version
156
- version: 0.32.1
156
+ version: 0.32.2
157
157
  type: :development
158
158
  prerelease: false
159
159
  version_requirements: !ruby/object:Gem::Requirement
160
160
  requirements:
161
161
  - - '='
162
162
  - !ruby/object:Gem::Version
163
- version: 0.32.1
163
+ version: 0.32.2
164
164
  description: API engine for decidim
165
165
  email:
166
166
  - josepjaume@gmail.com