decidim-api 0.27.10 → 0.28.0.rc4

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.
@@ -1,6 +1,9 @@
1
1
  /* eslint-disable require-jsdoc */
2
2
 
3
3
  import "entrypoints/decidim_api_graphiql.scss";
4
+ // Styles from node_modules/graphiql/graphiql.css
5
+ // It needs to be done in JS because postcss-import does not find files in node_modules/
6
+ import "graphiql/graphiql.css"
4
7
 
5
8
  import React from "react";
6
9
  import ReactDOM from "react-dom";
@@ -1,10 +1,8 @@
1
1
  html,
2
2
  body,
3
- #graphiql-container{
3
+ #graphiql-container {
4
4
  height: 100%;
5
5
  margin: 0;
6
6
  overflow: hidden;
7
7
  width: 100%;
8
8
  }
9
-
10
- @import "graphiql/graphiql.css";
@@ -1,5 +1,5 @@
1
1
  <div class="content"><%= contents %></div>
2
- <div id="sidebar"><%= include.("sidebar.html") %></div>
2
+ <div id="sidebar"><%= include.call("sidebar.html") %></div>
3
3
 
4
4
  <!-- mobile only -->
5
5
  <div id="mobile-header">
data/docs/usage.md CHANGED
@@ -1,3 +1,5 @@
1
+ <!-- markdownlint-disable-file link-fragments -->
2
+
1
3
  ## About the GraphQL API
2
4
 
3
5
  [Decidim](https://github.com/decidim/decidim) comes with an API that follows the [GraphQL](https://graphql.org/) specification. It has a comprehensive coverage of all the public content that can be found on the website.
@@ -14,11 +16,9 @@ Typically (although some particular installations may change that) you will find
14
16
 
15
17
  The GraphQL format is a JSON formatted text that is specified in a query. Response is a JSON object as well. For details about specification check the official [GraphQL site](https://graphql.org/learn/).
16
18
 
17
- Exercise caution when utilizing the output of this API, as it may include HTML that has not been escaped. Take particular care in handling this data, specially if you intend to render it on a webpage.
18
-
19
19
  For instance, you can check the version of a Decidim installation by using `curl` in the terminal:
20
20
 
21
- ```
21
+ ```bash
22
22
  curl -sSH "Content-Type: application/json" \
23
23
  -d '{"query": "{ decidim { version } }"}' \
24
24
  https://www.decidim.barcelona/api/
@@ -28,7 +28,7 @@ Note that `Content-Type` needs to be specified.
28
28
 
29
29
  The query can also be used in GraphiQL, in that case you can skip the `"query"` text:
30
30
 
31
- ```
31
+ ```graphql
32
32
  {
33
33
  decidim {
34
34
  version
@@ -68,7 +68,7 @@ Each "Type" is just a pre-defined structure with fields, or just an Scalar (Stri
68
68
 
69
69
  For instance, to obtain *all the participatory processes in a Decidim installation published since January 2018* and order them by published date, we could execute the next query:
70
70
 
71
- ```
71
+ ```graphql
72
72
  {
73
73
  participatoryProcesses(filter: {publishedSince: "2018-01-01"}, order: {publishedAt: "asc"}) {
74
74
  slug
@@ -81,7 +81,7 @@ For instance, to obtain *all the participatory processes in a Decidim installati
81
81
 
82
82
  Response should look like:
83
83
 
84
- ```
84
+ ```json
85
85
  {
86
86
  "data": {
87
87
  "participatoryProcesses": [
@@ -108,10 +108,10 @@ In the former query, each keyword represents a type, the words `publishedSince`,
108
108
 
109
109
  The other keywords however, are objects representing certain entities:
110
110
 
111
- - `participatoryProcesses` is a type that represents a collection of participatory spaces. It accepts arguments (`filter` and `order`), which are other object types as well. `slug` and `title` are the fields of the participatory process we are interested in, there are "Types" too.
112
- - `filter` is a [ParticipatoryProcessFilter](#ParticipatoryProcessFilter)\* input type, it has several properties that allows us to refine our search. One of them is the `publishedSince` property with the initial date from which to list entries.
113
- - `order ` is a [ParticipatoryProcessSort](#ParticipatoryProcessSort) type, works the same way as the filter but with the goal of ordering the results.
114
- - `title` is a [TranslatedField](#TranslatedField) type, which allows us to deal with multi-language fields.
111
+ * `participatoryProcesses` is a type that represents a collection of participatory spaces. It accepts arguments (`filter` and `order`), which are other object types as well. `slug` and `title` are the fields of the participatory process we are interested in, there are "Types" too.
112
+ * `filter` is a [ParticipatoryProcessFilter](#ParticipatoryProcessFilter)\* input type, it has several properties that allows us to refine our search. One of them is the `publishedSince` property with the initial date from which to list entries.
113
+ * `order` is a [ParticipatoryProcessSort](#ParticipatoryProcessSort) type, works the same way as the filter but with the goal of ordering the results.
114
+ * `title` is a [TranslatedField](#TranslatedField) type, which allows us to deal with multi-language fields.
115
115
 
116
116
  Finally, note that the returned object is an array, each item of which is a representation of the object we requested.
117
117
 
@@ -119,20 +119,20 @@ Finally, note that the returned object is an array, each item of which is a repr
119
119
  >
120
120
  > There are two types of objects to filter and ordering collections in Decidim, they all work in a similar fashion. The type involved in filtering always have the suffix "Filter", for ordering it has the suffix "Sort".
121
121
  >
122
- > The types used to filter participatory spaces are: [ParticipatoryProcessFilter](#ParticipatoryProcessFilter), [AssemblyFilter](#AssemblyFilter), [ConsultationFilter](#ConsultationFilter) and so on.
122
+ > The types used to filter participatory spaces are: [ParticipatoryProcessFilter](#ParticipatoryProcessFilter), [AssemblyFilter](#AssemblyFilter), and so on.
123
123
  >
124
124
  > Other collections (or connections) may have their own filters (i.e. [ComponentFilter](#ComponentFilter)).
125
125
  >
126
126
  > Each filter has its own properties, you should check any object in particular for details. The way they work with multi-languages fields, however, is the same:
127
127
  >
128
- > Let's say we have some searchable object with a multi-language field called *title*, and we have a filter that allows us to search through this field. How should it work? Should we look up content for every language in the field? or should we stick to a specific language?
128
+ > We can say we have some searchable object with a multi-language field called *title*, and we have a filter that allows us to search through this field. How should it work? Should we look up content for every language in the field? or should we stick to a specific language?
129
129
  >
130
- > In our case, we've decided to search only one particular language of a multi-language field but we let you choose which language to search.
130
+ > In our case, we have decided to search only one particular language of a multi-language field but we let you choose which language to search.
131
131
  > If no language is specified, the configured as default in the organization will be used. The keyword to specify the language is `locale`, and it should be provided in the 2 letters ISO 639-1 format (en = English, es = Spanish, ...).
132
132
  >
133
133
  > Example (this is not a real Decidim query):
134
134
  >
135
- > ```
135
+ > ```graphql
136
136
  > some_collection(filter: { locale: "en", title: "ideas"}) {
137
137
  > id
138
138
  > }
@@ -144,7 +144,7 @@ Finally, note that the returned object is an array, each item of which is a repr
144
144
  >
145
145
  > Example of ordering alphabetically by the title content in French language:
146
146
  >
147
- > ```
147
+ > ```graphql
148
148
  > some_collection(order: { locale: "en", title: "asc"}) {
149
149
  > id
150
150
  > }
@@ -156,13 +156,13 @@ Finally, note that the returned object is an array, each item of which is a repr
156
156
 
157
157
  Decidim has 2 main types of objects through which content is provided. These are Participatory Spaces and Components.
158
158
 
159
- A participatory space is the first level, currently there are 5 officially supported: *Participatory Processes*, *Assemblies*, *Consultations*, *Conferences* and *Initiatives*. For each participatory process there will correspond a collection type and a "single item" type.
159
+ A participatory space is the first level, currently there are 5 officially supported: *Participatory Processes*, *Assemblies*, *Conferences* and *Initiatives*. For each participatory process there will correspond a collection type and a "single item" type.
160
160
 
161
- The previous example uses the collection type for participatory processes. You can try `assemblies`, `conferences`, `consultations` or `initiatives` for the others. Note that each collection can implement their own filter and order types with different properties.
161
+ The previous example uses the collection type for participatory processes. You can try `assemblies`, `conferences`, or `initiatives` for the others. Note that each collection can implement their own filter and order types with different properties.
162
162
 
163
163
  As an example for a single item query, you can run:
164
164
 
165
- ```
165
+ ```graphql
166
166
  {
167
167
  participatoryProcess(slug: "consectetur-at") {
168
168
  slug
@@ -175,7 +175,7 @@ As an example for a single item query, you can run:
175
175
 
176
176
  And the response will be:
177
177
 
178
- ```
178
+ ```json
179
179
  {
180
180
  "data": {
181
181
  "participatoryProcess": {
@@ -188,7 +188,7 @@ And the response will be:
188
188
  }
189
189
  ```
190
190
 
191
- #### What's different?
191
+ #### What is different?
192
192
 
193
193
  First, note that we are querying, in singular, the type `participatoryProcess`, with a different parameter, `slug`\*, (a String). We can use the `id` instead if we know it.
194
194
 
@@ -208,7 +208,7 @@ Every participatory space may (and should) have some components. There are 9 off
208
208
 
209
209
  If you know the `id`\* of a specific component you can obtain it by querying it directly:
210
210
 
211
- ```
211
+ ```graphql
212
212
  {
213
213
  component(id:2) {
214
214
  id
@@ -226,7 +226,7 @@ If you know the `id`\* of a specific component you can obtain it by querying it
226
226
 
227
227
  Response:
228
228
 
229
- ```
229
+ ```json
230
230
  {
231
231
  "data": {
232
232
  "component": {
@@ -252,13 +252,13 @@ The process is analogue as what has been explained in the case of searching for
252
252
  >
253
253
  > In this case, 3257.
254
254
 
255
- #### What about component's collections?
255
+ ##### What about component's collections?
256
256
 
257
257
  Glad you asked, component's collections cannot be retrieved directly, the are available *in the context* of a participatory space.
258
258
 
259
259
  For instance, we can query all the components in an particular Assembly as follows:
260
260
 
261
- ```
261
+ ```graphql
262
262
  {
263
263
  assembly(id: 3) {
264
264
  components {
@@ -274,7 +274,7 @@ For instance, we can query all the components in an particular Assembly as follo
274
274
 
275
275
  The response will be similar to:
276
276
 
277
- ```
277
+ ```json
278
278
  {
279
279
  "data": {
280
280
  "assembly": {
@@ -315,7 +315,7 @@ The response will be similar to:
315
315
 
316
316
  We can also apply some filters by using the [ComponentFilter](#ComponentFilter) type. In the next query we would like to *find all the components with geolocation enabled in the assembly with id=2*:
317
317
 
318
- ```
318
+ ```graphql
319
319
  {
320
320
  assembly(id: 2) {
321
321
  components(filter: {withGeolocationEnabled: true}) {
@@ -331,7 +331,7 @@ We can also apply some filters by using the [ComponentFilter](#ComponentFilter)
331
331
 
332
332
  The response:
333
333
 
334
- ```
334
+ ```json
335
335
  {
336
336
  "data": {
337
337
  "assembly": {
@@ -359,14 +359,13 @@ For instance, components in a participatory space are polymorphic, while the con
359
359
 
360
360
  Another example are the case of linked resources, these are properties that may link objects of different nature between components or participatory spaces.
361
361
 
362
- In a very simplified way (to know more please refer to the official guide), GraphQL polymorphism is handled through the operator `... on`. You'll know when a field is polymorphic because the property `__typename`, which tells you the type of that particular object, will change accordingly.
362
+ In a very simplified way (to know more please refer to the official guide), GraphQL polymorphism is handled through the operator `... on`. You will know when a field is polymorphic because the property `__typename`, which tells you the type of that particular object, will change accordingly.
363
363
 
364
- In the previous examples we've queried for this property:
364
+ In the previous examples we have queried for this property:
365
365
 
366
366
  Response fragment:
367
367
 
368
- ```
369
- ...
368
+ ```json
370
369
  "components": [
371
370
  {
372
371
  "id": "38",
@@ -375,12 +374,11 @@ Response fragment:
375
374
  },
376
375
  "__typename": "Meetings"
377
376
  }
378
- ...
379
377
  ```
380
378
 
381
379
  So, if we want to access the rest of the properties in a polymorphic object, we should do it through the `... on` operator as follows:
382
380
 
383
- ```
381
+ ```graphql
384
382
  {
385
383
  assembly(id: 2) {
386
384
  components {
@@ -395,7 +393,7 @@ So, if we want to access the rest of the properties in a polymorphic object, we
395
393
 
396
394
  Consider this query:
397
395
 
398
- ```
396
+ ```graphql
399
397
  {
400
398
  assembly(id: 3) {
401
399
  components(filter: {type: "Proposals"}) {
@@ -422,7 +420,7 @@ Consider this query:
422
420
 
423
421
  The response:
424
422
 
425
- ```
423
+ ```json
426
424
  {
427
425
  "data": {
428
426
  "assembly": {
@@ -493,9 +491,9 @@ The response:
493
491
  }
494
492
  ```
495
493
 
496
- #### What's going on?
494
+ #### What is going on?
497
495
 
498
- Until the `... on Proposals` line, there's nothing new. We are requesting the *Assembly* participatory space identified by the `id=3`, then listing all its components with the type "Proposals". All the components share the *id* and *name* properties, so we can just add them at the query.
496
+ Until the `... on Proposals` line, there is nothing new. We are requesting the *Assembly* participatory space identified by the `id=3`, then listing all its components with the type "Proposals". All the components share the *id* and *name* properties, so we can just add them at the query.
499
497
 
500
498
  After that, we want content specific from the *Proposals* type. In order to do that we must tell the server that the content we will request shall only be executed if the types matches *Proposals*. We do that by wrapping the rest of the query in the `... on Proposals` clause.
501
499
 
@@ -503,14 +501,14 @@ The next line is just a property of the type *Proposals* which is a type of coll
503
501
 
504
502
  Typically, a connection is used to paginate long results, for this purpose the results are not directly available but encapsulated inside the list *edges* in several *node* results. Also there are more arguments available in order to navigate between pages. This are the arguments:
505
503
 
506
- - `first`: Returns the first *n* elements from the list
507
- - `after`: Returns the elements in the list that come after the specified *cursor*
508
- - `last`: Returns the last *n* elements from the list
509
- - `before`: Returns the elements in the list that come before the specified *cursor*
504
+ * `first`: Returns the first *n* elements from the list
505
+ * `after`: Returns the elements in the list that come after the specified *cursor*
506
+ * `last`: Returns the last *n* elements from the list
507
+ * `before`: Returns the elements in the list that come before the specified *cursor*
510
508
 
511
509
  Example:
512
510
 
513
- ```
511
+ ```graphql
514
512
  {
515
513
  assembly(id: 3) {
516
514
  components(filter: {type: "Proposals"}) {
@@ -543,7 +541,7 @@ Example:
543
541
 
544
542
  Being the response:
545
543
 
546
- ```
544
+ ```json
547
545
  {
548
546
  "data": {
549
547
  "assembly": {
@@ -594,5 +592,3 @@ As you can see, a part from the *edges* list, you can access to the object *page
594
592
  For more info on how connections work, you can check the official guide:
595
593
 
596
594
  https://graphql.org/learn/pagination/
597
-
598
-
@@ -23,7 +23,7 @@ module Decidim
23
23
  class Engine < ::Rails::Engine
24
24
  isolate_namespace Decidim::Api
25
25
 
26
- initializer "decidim-api.middleware" do |app|
26
+ initializer "decidim_api.middleware" do |app|
27
27
  app.config.middleware.insert_before 0, Rack::Cors do
28
28
  allow do
29
29
  origins "*"
@@ -32,12 +32,12 @@ module Decidim
32
32
  end
33
33
  end
34
34
 
35
- initializer "decidim-api.graphiql" do
35
+ initializer "decidim_api.graphiql" do
36
36
  Decidim::GraphiQL::Rails.config.tap do |config|
37
37
  config.query_params = true
38
- config.initial_query = ERB::Util.html_escape(
39
- File.read(File.join(__dir__, "graphiql-initial-query.txt"))
40
- )
38
+ config.initial_query = File.read(
39
+ File.join(__dir__, "graphiql-initial-query.txt")
40
+ ).html_safe
41
41
  end
42
42
  end
43
43
 
@@ -23,12 +23,12 @@ shared_context "with a graphql class type" do
23
23
  def execute_query(query, variables)
24
24
  result = schema.execute(
25
25
  query,
26
- root_value: root_value,
26
+ root_value:,
27
27
  context: {
28
- current_organization: current_organization,
29
- current_user: current_user
28
+ current_organization:,
29
+ current_user:
30
30
  },
31
- variables: variables
31
+ variables:
32
32
  )
33
33
 
34
34
  raise StandardError, result["errors"].map { |e| e["message"] }.join(", ") if result["errors"]
@@ -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.27.10"
7
+ "0.28.0.rc4"
8
8
  end
9
9
  end
10
10
  end
@@ -9,7 +9,7 @@ namespace :decidim_api do
9
9
 
10
10
  GraphQLDocs.build(
11
11
  schema: Decidim::Api::Schema,
12
- output_dir: output_dir,
12
+ output_dir:,
13
13
  base_url: "/api/docs",
14
14
  landing_pages: {
15
15
  index: File.expand_path("../../docs/usage.md", __dir__)
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.27.10
4
+ version: 0.28.0.rc4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -10,56 +10,56 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2025-03-20 00:00:00.000000000 Z
13
+ date: 2023-12-11 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: decidim-core
16
+ name: commonmarker
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
- - - '='
19
+ - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: 0.27.10
21
+ version: 0.23.0
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: 0.23.9
22
25
  type: :runtime
23
26
  prerelease: false
24
27
  version_requirements: !ruby/object:Gem::Requirement
25
28
  requirements:
26
- - - '='
29
+ - - "~>"
27
30
  - !ruby/object:Gem::Version
28
- version: 0.27.10
31
+ version: 0.23.0
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: 0.23.9
29
35
  - !ruby/object:Gem::Dependency
30
36
  name: graphql
31
37
  requirement: !ruby/object:Gem::Requirement
32
38
  requirements:
33
39
  - - "~>"
34
40
  - !ruby/object:Gem::Version
35
- version: '1.12'
36
- - - "<"
37
- - !ruby/object:Gem::Version
38
- version: '1.13'
41
+ version: 2.0.0
39
42
  type: :runtime
40
43
  prerelease: false
41
44
  version_requirements: !ruby/object:Gem::Requirement
42
45
  requirements:
43
46
  - - "~>"
44
47
  - !ruby/object:Gem::Version
45
- version: '1.12'
46
- - - "<"
47
- - !ruby/object:Gem::Version
48
- version: '1.13'
48
+ version: 2.0.0
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: graphql-docs
51
51
  requirement: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: 2.1.0
55
+ version: 3.0.1
56
56
  type: :runtime
57
57
  prerelease: false
58
58
  version_requirements: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: 2.1.0
62
+ version: 3.0.1
63
63
  - !ruby/object:Gem::Dependency
64
64
  name: rack-cors
65
65
  requirement: !ruby/object:Gem::Requirement
@@ -80,42 +80,56 @@ dependencies:
80
80
  requirements:
81
81
  - - '='
82
82
  - !ruby/object:Gem::Version
83
- version: 0.27.10
83
+ version: 0.28.0.rc4
84
84
  type: :development
85
85
  prerelease: false
86
86
  version_requirements: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - '='
89
89
  - !ruby/object:Gem::Version
90
- version: 0.27.10
90
+ version: 0.28.0.rc4
91
+ - !ruby/object:Gem::Dependency
92
+ name: decidim-core
93
+ requirement: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - '='
96
+ - !ruby/object:Gem::Version
97
+ version: 0.28.0.rc4
98
+ type: :development
99
+ prerelease: false
100
+ version_requirements: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - '='
103
+ - !ruby/object:Gem::Version
104
+ version: 0.28.0.rc4
91
105
  - !ruby/object:Gem::Dependency
92
106
  name: decidim-dev
93
107
  requirement: !ruby/object:Gem::Requirement
94
108
  requirements:
95
109
  - - '='
96
110
  - !ruby/object:Gem::Version
97
- version: 0.27.10
111
+ version: 0.28.0.rc4
98
112
  type: :development
99
113
  prerelease: false
100
114
  version_requirements: !ruby/object:Gem::Requirement
101
115
  requirements:
102
116
  - - '='
103
117
  - !ruby/object:Gem::Version
104
- version: 0.27.10
118
+ version: 0.28.0.rc4
105
119
  - !ruby/object:Gem::Dependency
106
120
  name: decidim-participatory_processes
107
121
  requirement: !ruby/object:Gem::Requirement
108
122
  requirements:
109
123
  - - '='
110
124
  - !ruby/object:Gem::Version
111
- version: 0.27.10
125
+ version: 0.28.0.rc4
112
126
  type: :development
113
127
  prerelease: false
114
128
  version_requirements: !ruby/object:Gem::Requirement
115
129
  requirements:
116
130
  - - '='
117
131
  - !ruby/object:Gem::Version
118
- version: 0.27.10
132
+ version: 0.28.0.rc4
119
133
  description: API engine for decidim
120
134
  email:
121
135
  - josepjaume@gmail.com
@@ -141,7 +155,6 @@ files:
141
155
  - app/views/layouts/decidim/api/documentation.html.erb
142
156
  - config/assets.rb
143
157
  - config/routes.rb
144
- - decidim-api.gemspec
145
158
  - docs/usage.md
146
159
  - lib/decidim/api.rb
147
160
  - lib/decidim/api/engine.rb
@@ -166,26 +179,31 @@ files:
166
179
  - lib/decidim/api/types/base_union.rb
167
180
  - lib/decidim/api/version.rb
168
181
  - lib/tasks/decidim_api_docs.rake
169
- homepage: https://github.com/decidim/decidim
182
+ homepage: https://decidim.org
170
183
  licenses:
171
184
  - AGPL-3.0
172
- metadata: {}
185
+ metadata:
186
+ bug_tracker_uri: https://github.com/decidim/decidim/issues
187
+ documentation_uri: https://docs.decidim.org/
188
+ funding_uri: https://opencollective.com/decidim
189
+ homepage_uri: https://decidim.org
190
+ source_code_uri: https://github.com/decidim/decidim
173
191
  post_install_message:
174
192
  rdoc_options: []
175
193
  require_paths:
176
194
  - lib
177
195
  required_ruby_version: !ruby/object:Gem::Requirement
178
196
  requirements:
179
- - - "~>"
197
+ - - ">="
180
198
  - !ruby/object:Gem::Version
181
- version: 3.0.0
199
+ version: '3.1'
182
200
  required_rubygems_version: !ruby/object:Gem::Requirement
183
201
  requirements:
184
- - - ">="
202
+ - - ">"
185
203
  - !ruby/object:Gem::Version
186
- version: '0'
204
+ version: 1.3.1
187
205
  requirements: []
188
- rubygems_version: 3.2.22
206
+ rubygems_version: 3.4.20
189
207
  signing_key:
190
208
  specification_version: 4
191
209
  summary: Decidim API module
data/decidim-api.gemspec DELETED
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- $LOAD_PATH.push File.expand_path("lib", __dir__)
4
-
5
- # Maintain your gem's version:
6
- require "decidim/api/version"
7
-
8
- # Describe your gem and declare its dependencies:
9
- Gem::Specification.new do |s|
10
- s.version = Decidim::Api.version
11
- s.authors = ["Josep Jaume Rey Peroy", "Marc Riera Casals", "Oriol Gual Oliva"]
12
- s.email = ["josepjaume@gmail.com", "mrc2407@gmail.com", "oriolgual@gmail.com"]
13
- s.license = "AGPL-3.0"
14
- s.homepage = "https://github.com/decidim/decidim"
15
- s.required_ruby_version = "~> 3.0.0"
16
-
17
- s.name = "decidim-api"
18
- s.summary = "Decidim API module"
19
- s.description = "API engine for decidim"
20
-
21
- s.files = Dir.chdir(__dir__) do
22
- `git ls-files -z`.split("\x0").select do |f|
23
- (File.expand_path(f) == __FILE__) ||
24
- f.start_with?(*%w(app/ config/ docs/ lib/ Rakefile README.md))
25
- end
26
- end
27
-
28
- s.add_dependency "decidim-core", Decidim::Api.version
29
- s.add_dependency "graphql", "~> 1.12", "< 1.13"
30
- s.add_dependency "graphql-docs", "~> 2.1.0"
31
- s.add_dependency "rack-cors", "~> 1.0"
32
-
33
- s.add_development_dependency "decidim-comments", Decidim::Api.version
34
- s.add_development_dependency "decidim-dev", Decidim::Api.version
35
- s.add_development_dependency "decidim-participatory_processes", Decidim::Api.version
36
- end