decidim-api 0.31.8 → 0.32.0.rc1

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.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -13
  3. data/app/controllers/decidim/api/queries_controller.rb +1 -8
  4. data/app/controllers/decidim/api/sessions_controller.rb +1 -1
  5. data/app/models/decidim/api/api_user.rb +5 -1
  6. data/config/initializers/devise.rb +26 -0
  7. data/config/locales/ca-IT.yml +7 -0
  8. data/config/locales/ca.yml +7 -0
  9. data/config/locales/cs.yml +7 -1
  10. data/config/locales/de.yml +0 -7
  11. data/config/locales/el.yml +11 -0
  12. data/config/locales/en.yml +7 -0
  13. data/config/locales/es-MX.yml +7 -0
  14. data/config/locales/es-PY.yml +7 -0
  15. data/config/locales/es.yml +7 -0
  16. data/config/locales/eu.yml +7 -0
  17. data/config/locales/fi-plain.yml +7 -0
  18. data/config/locales/fi.yml +7 -0
  19. data/config/locales/fr-CA.yml +4 -0
  20. data/config/locales/fr.yml +4 -0
  21. data/config/locales/gl.yml +0 -7
  22. data/config/locales/ja.yml +7 -0
  23. data/config/locales/no.yml +1 -0
  24. data/config/locales/pt-BR.yml +7 -0
  25. data/config/locales/ro-RO.yml +7 -0
  26. data/config/locales/sk.yml +0 -7
  27. data/config/locales/sv.yml +7 -0
  28. data/decidim-api.gemspec +12 -15
  29. data/docs/usage.md +3 -634
  30. data/lib/decidim/api/component_mutation_type.rb +1 -2
  31. data/lib/decidim/api/engine.rb +0 -39
  32. data/lib/decidim/api/errors/attribute_validation_error.rb +73 -0
  33. data/lib/decidim/api/errors/invalid_locale_error.rb +14 -0
  34. data/lib/decidim/api/errors/locale_error.rb +14 -0
  35. data/lib/decidim/api/errors/mutation_not_authorized_error.rb +14 -0
  36. data/lib/decidim/api/errors/not_found_error.rb +14 -0
  37. data/lib/decidim/api/errors/permission_not_set_error.rb +14 -0
  38. data/lib/decidim/api/errors/unauthorized_field_error.rb +14 -0
  39. data/lib/decidim/api/errors/unauthorized_object_error.rb +14 -0
  40. data/lib/decidim/api/errors/validation_error.rb +13 -0
  41. data/lib/decidim/api/graphiql/config.rb +1 -1
  42. data/lib/decidim/api/graphql_permissions.rb +16 -23
  43. data/lib/decidim/api/query_type.rb +91 -0
  44. data/lib/decidim/api/schema.rb +27 -1
  45. data/lib/decidim/api/test/component_context.rb +59 -51
  46. data/lib/decidim/api/test/shared_examples/followable_interface_examples.rb +12 -1
  47. data/lib/decidim/api/test/shared_examples/statistics_examples.rb +0 -2
  48. data/lib/decidim/api/test/type_context.rb +10 -2
  49. data/lib/decidim/api/test.rb +1 -0
  50. data/lib/decidim/api/types/access_mode_enum.rb +15 -0
  51. data/lib/decidim/api/types/base_mutation.rb +28 -0
  52. data/lib/decidim/api/types/base_object.rb +12 -0
  53. data/lib/decidim/api/types.rb +12 -1
  54. data/lib/decidim/api/version.rb +1 -1
  55. data/lib/decidim/api.rb +22 -32
  56. data/lib/devise/models/api_authenticatable.rb +1 -7
  57. data/lib/devise/strategies/api_authenticatable.rb +1 -1
  58. metadata +60 -35
  59. data/app/models/concerns/decidim/api/user_extension.rb +0 -19
  60. /data/lib/decidim/api/test/{mutation_context.rb → shared_examples/mutation_context.rb} +0 -0
metadata CHANGED
@@ -1,16 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.31.8
4
+ version: 0.32.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
8
8
  - Marc Riera Casals
9
9
  - Oriol Gual Oliva
10
- autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2026-10-22 00:00:00.000000000 Z
12
+ date: 1980-01-02 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: decidim-core
@@ -18,132 +17,150 @@ dependencies:
18
17
  requirements:
19
18
  - - '='
20
19
  - !ruby/object:Gem::Version
21
- version: 0.31.8
20
+ version: 0.32.0.rc1
22
21
  type: :runtime
23
22
  prerelease: false
24
23
  version_requirements: !ruby/object:Gem::Requirement
25
24
  requirements:
26
25
  - - '='
27
26
  - !ruby/object:Gem::Version
28
- version: 0.31.8
27
+ version: 0.32.0.rc1
29
28
  - !ruby/object:Gem::Dependency
30
29
  name: devise-jwt
31
30
  requirement: !ruby/object:Gem::Requirement
32
31
  requirements:
33
- - - "~>"
32
+ - - ">="
34
33
  - !ruby/object:Gem::Version
35
34
  version: 0.12.1
35
+ - - "<"
36
+ - !ruby/object:Gem::Version
37
+ version: 0.14.0
36
38
  type: :runtime
37
39
  prerelease: false
38
40
  version_requirements: !ruby/object:Gem::Requirement
39
41
  requirements:
40
- - - "~>"
42
+ - - ">="
41
43
  - !ruby/object:Gem::Version
42
44
  version: 0.12.1
45
+ - - "<"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.14.0
43
48
  - !ruby/object:Gem::Dependency
44
49
  name: graphql
45
50
  requirement: !ruby/object:Gem::Requirement
46
51
  requirements:
47
- - - "~>"
48
- - !ruby/object:Gem::Version
49
- version: 2.4.0
50
52
  - - ">="
51
53
  - !ruby/object:Gem::Version
52
54
  version: 2.4.17
55
+ - - "<"
56
+ - !ruby/object:Gem::Version
57
+ version: '2.6'
53
58
  type: :runtime
54
59
  prerelease: false
55
60
  version_requirements: !ruby/object:Gem::Requirement
56
61
  requirements:
57
- - - "~>"
58
- - !ruby/object:Gem::Version
59
- version: 2.4.0
60
62
  - - ">="
61
63
  - !ruby/object:Gem::Version
62
64
  version: 2.4.17
65
+ - - "<"
66
+ - !ruby/object:Gem::Version
67
+ version: '2.6'
63
68
  - !ruby/object:Gem::Dependency
64
69
  name: graphql-docs
65
70
  requirement: !ruby/object:Gem::Requirement
66
71
  requirements:
67
- - - "~>"
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '5'
75
+ - - "<"
68
76
  - !ruby/object:Gem::Version
69
- version: '5.0'
77
+ version: '7'
70
78
  type: :runtime
71
79
  prerelease: false
72
80
  version_requirements: !ruby/object:Gem::Requirement
73
81
  requirements:
74
- - - "~>"
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '5'
85
+ - - "<"
75
86
  - !ruby/object:Gem::Version
76
- version: '5.0'
87
+ version: '7'
77
88
  - !ruby/object:Gem::Dependency
78
89
  name: rack-cors
79
90
  requirement: !ruby/object:Gem::Requirement
80
91
  requirements:
81
- - - "~>"
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: '1'
95
+ - - "<"
82
96
  - !ruby/object:Gem::Version
83
- version: '1.0'
97
+ version: '4'
84
98
  type: :runtime
85
99
  prerelease: false
86
100
  version_requirements: !ruby/object:Gem::Requirement
87
101
  requirements:
88
- - - "~>"
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '1'
105
+ - - "<"
89
106
  - !ruby/object:Gem::Version
90
- version: '1.0'
107
+ version: '4'
91
108
  - !ruby/object:Gem::Dependency
92
109
  name: decidim-assemblies
93
110
  requirement: !ruby/object:Gem::Requirement
94
111
  requirements:
95
112
  - - '='
96
113
  - !ruby/object:Gem::Version
97
- version: 0.31.8
114
+ version: 0.32.0.rc1
98
115
  type: :development
99
116
  prerelease: false
100
117
  version_requirements: !ruby/object:Gem::Requirement
101
118
  requirements:
102
119
  - - '='
103
120
  - !ruby/object:Gem::Version
104
- version: 0.31.8
121
+ version: 0.32.0.rc1
105
122
  - !ruby/object:Gem::Dependency
106
123
  name: decidim-comments
107
124
  requirement: !ruby/object:Gem::Requirement
108
125
  requirements:
109
126
  - - '='
110
127
  - !ruby/object:Gem::Version
111
- version: 0.31.8
128
+ version: 0.32.0.rc1
112
129
  type: :development
113
130
  prerelease: false
114
131
  version_requirements: !ruby/object:Gem::Requirement
115
132
  requirements:
116
133
  - - '='
117
134
  - !ruby/object:Gem::Version
118
- version: 0.31.8
135
+ version: 0.32.0.rc1
119
136
  - !ruby/object:Gem::Dependency
120
137
  name: decidim-dev
121
138
  requirement: !ruby/object:Gem::Requirement
122
139
  requirements:
123
140
  - - '='
124
141
  - !ruby/object:Gem::Version
125
- version: 0.31.8
142
+ version: 0.32.0.rc1
126
143
  type: :development
127
144
  prerelease: false
128
145
  version_requirements: !ruby/object:Gem::Requirement
129
146
  requirements:
130
147
  - - '='
131
148
  - !ruby/object:Gem::Version
132
- version: 0.31.8
149
+ version: 0.32.0.rc1
133
150
  - !ruby/object:Gem::Dependency
134
151
  name: decidim-participatory_processes
135
152
  requirement: !ruby/object:Gem::Requirement
136
153
  requirements:
137
154
  - - '='
138
155
  - !ruby/object:Gem::Version
139
- version: 0.31.8
156
+ version: 0.32.0.rc1
140
157
  type: :development
141
158
  prerelease: false
142
159
  version_requirements: !ruby/object:Gem::Requirement
143
160
  requirements:
144
161
  - - '='
145
162
  - !ruby/object:Gem::Version
146
- version: 0.31.8
163
+ version: 0.32.0.rc1
147
164
  description: API engine for decidim
148
165
  email:
149
166
  - josepjaume@gmail.com
@@ -160,7 +177,6 @@ files:
160
177
  - app/controllers/decidim/api/graphiql_controller.rb
161
178
  - app/controllers/decidim/api/queries_controller.rb
162
179
  - app/controllers/decidim/api/sessions_controller.rb
163
- - app/models/concerns/decidim/api/user_extension.rb
164
180
  - app/models/decidim/api/api_user.rb
165
181
  - app/models/decidim/api/jwt_denylist.rb
166
182
  - app/packs/entrypoints/decidim_api_docs.js
@@ -173,6 +189,7 @@ files:
173
189
  - app/views/decidim/api/graphiql/show.html.erb
174
190
  - app/views/layouts/decidim/api/documentation.html.erb
175
191
  - config/assets.rb
192
+ - config/initializers/devise.rb
176
193
  - config/locales/am-ET.yml
177
194
  - config/locales/ar.yml
178
195
  - config/locales/bg.yml
@@ -247,9 +264,18 @@ files:
247
264
  - lib/decidim/api/component_mutation_type.rb
248
265
  - lib/decidim/api/devise.rb
249
266
  - lib/decidim/api/engine.rb
267
+ - lib/decidim/api/errors/attribute_validation_error.rb
250
268
  - lib/decidim/api/errors/introspection_disabled_error.rb
269
+ - lib/decidim/api/errors/invalid_locale_error.rb
270
+ - lib/decidim/api/errors/locale_error.rb
271
+ - lib/decidim/api/errors/mutation_not_authorized_error.rb
272
+ - lib/decidim/api/errors/not_found_error.rb
273
+ - lib/decidim/api/errors/permission_not_set_error.rb
251
274
  - lib/decidim/api/errors/recursion_limit_exceeded_error.rb
252
275
  - lib/decidim/api/errors/too_many_aliases_error.rb
276
+ - lib/decidim/api/errors/unauthorized_field_error.rb
277
+ - lib/decidim/api/errors/unauthorized_object_error.rb
278
+ - lib/decidim/api/errors/validation_error.rb
253
279
  - lib/decidim/api/graphiql-initial-query.txt
254
280
  - lib/decidim/api/graphiql/config.rb
255
281
  - lib/decidim/api/graphql_permissions.rb
@@ -262,7 +288,6 @@ files:
262
288
  - lib/decidim/api/test.rb
263
289
  - lib/decidim/api/test/component_context.rb
264
290
  - lib/decidim/api/test/factories.rb
265
- - lib/decidim/api/test/mutation_context.rb
266
291
  - lib/decidim/api/test/shared_examples/amendable_interface_examples.rb
267
292
  - lib/decidim/api/test/shared_examples/amendable_proposals_interface_examples.rb
268
293
  - lib/decidim/api/test/shared_examples/attachable_interface_examples.rb
@@ -277,6 +302,7 @@ files:
277
302
  - lib/decidim/api/test/shared_examples/input_sort_examples.rb
278
303
  - lib/decidim/api/test/shared_examples/likeable_interface_examples.rb
279
304
  - lib/decidim/api/test/shared_examples/localizable_interface_examples.rb
305
+ - lib/decidim/api/test/shared_examples/mutation_context.rb
280
306
  - lib/decidim/api/test/shared_examples/participatory_space_resourcable_interface_examples.rb
281
307
  - lib/decidim/api/test/shared_examples/referable_interface_examples.rb
282
308
  - lib/decidim/api/test/shared_examples/scopable_interface_examples.rb
@@ -286,6 +312,7 @@ files:
286
312
  - lib/decidim/api/test/shared_examples/traceable_interface_examples.rb
287
313
  - lib/decidim/api/test/type_context.rb
288
314
  - lib/decidim/api/types.rb
315
+ - lib/decidim/api/types/access_mode_enum.rb
289
316
  - lib/decidim/api/types/base_argument.rb
290
317
  - lib/decidim/api/types/base_enum.rb
291
318
  - lib/decidim/api/types/base_field.rb
@@ -309,7 +336,6 @@ metadata:
309
336
  funding_uri: https://opencollective.com/decidim
310
337
  homepage_uri: https://decidim.org
311
338
  source_code_uri: https://github.com/decidim/decidim
312
- post_install_message:
313
339
  rdoc_options: []
314
340
  require_paths:
315
341
  - lib
@@ -317,15 +343,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
317
343
  requirements:
318
344
  - - "~>"
319
345
  - !ruby/object:Gem::Version
320
- version: 3.3.0
346
+ version: 3.4.0
321
347
  required_rubygems_version: !ruby/object:Gem::Requirement
322
348
  requirements:
323
349
  - - ">="
324
350
  - !ruby/object:Gem::Version
325
351
  version: '0'
326
352
  requirements: []
327
- rubygems_version: 3.5.11
328
- signing_key:
353
+ rubygems_version: 3.6.9
329
354
  specification_version: 4
330
355
  summary: Decidim API module
331
356
  test_files: []
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "active_support/concern"
4
-
5
- module Decidim
6
- module Api
7
- # This concern adds the JWT authenticable strategy for the User models to
8
- # allow regular users to sign in through the API (if configured from the
9
- # system panel). Allows normal users to utilize the API e.g. through mobile
10
- # applications.
11
- module UserExtension
12
- extend ActiveSupport::Concern
13
-
14
- included do
15
- devise :jwt_authenticatable, jwt_revocation_strategy: Decidim::Api::JwtDenylist
16
- end
17
- end
18
- end
19
- end