decidim-api 0.26.2 → 0.27.0.rc2

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: f803e5514a9e631c857e34bb58049429c4dbcf1ab079888ac833cf3dc9655071
4
- data.tar.gz: 4bd72061bfe2ffa54c6f6ae0273d051b1653f61f9c39e8c92c2aa8fd7314def2
3
+ metadata.gz: 346ea3a2f53b09f8ec29bfd65f2e25ee9110d5415ef47977ec14f489ab17e128
4
+ data.tar.gz: b58b069e865ce003b81193b1550d3f459efb66298cf0564de6381f1e07e54aac
5
5
  SHA512:
6
- metadata.gz: 3b841dd7d197504ca2ac629605ccd2ab8c5a6cd040f373c8caa445008b2fca5df0e11cad0bb4ad07652112e1c3313c8083798edd47f98f2110212433e7d0d33e
7
- data.tar.gz: aa3c37a6ca44e6de708ad2ae61abdb94912fd3a0bf91849ed51a3c09fb4412b3feed2cfbac58d9e502e7cfb4143acb0ffbcbe472a58c9c5e1710de5d72415ba9
6
+ metadata.gz: ed4f172559ec8f46e2cb7f928c724687f69e4676bc18ae6122a69ce5664d5c999a5c80079af2cbe5b15b0765b2bcd71413d69c47b202ed2f067a5548181c1404
7
+ data.tar.gz: 2eb6f79d2415137f75302aeb0cea18802c306bbbd6008682afca7b18e9d76af0a60375a1e8ed544570a10b82f0094b0ae3ab98a09e2c34b294641cb488de38d2
@@ -6,6 +6,27 @@ module Decidim
6
6
  # the Schema to be executed, later returning the response as JSON.
7
7
  class DocumentationController < Api::ApplicationController
8
8
  layout "decidim/api/documentation"
9
+
10
+ helper_method :static_api_docs_content
11
+ before_action :set_cache_headers
12
+
13
+ private
14
+
15
+ def static_api_docs_content
16
+ render_to_string(File.join("static", "api", "docs", *safe_content_path, "index"), layout: false)
17
+ end
18
+
19
+ def safe_content_path
20
+ return "" unless params[:path]
21
+
22
+ params[:path].split("/").excluding("..", ".")
23
+ end
24
+
25
+ def set_cache_headers
26
+ response.headers["Cache-Control"] = "no-cache, no-store"
27
+ response.headers["Pragma"] = "no-cache"
28
+ response.headers["Expires"] = "Mon, 01 Jan 1990 00:00:00 GMT"
29
+ end
9
30
  end
10
31
  end
11
32
  end
@@ -1,26 +1 @@
1
- /* eslint-disable react/jsx-no-undef */
2
-
3
- import jQuery from "jquery"
4
- import { render } from "react-dom"
5
- import { GraphQLDocs } from "graphql-docs"
6
- import "stylesheets/decidim/api/docs.scss"
7
-
8
- const fetcherFactory = (path) => {
9
- return (query) => {
10
- return jQuery.ajax({
11
- url: path,
12
- data: JSON.stringify({ query }),
13
- method: "POST",
14
- contentType: "application/json",
15
- dataType: "json"
16
- });
17
- };
18
- }
19
-
20
- window.renderDocumentation = (path) => {
21
- render(
22
- <GraphQLDocs fetcher={fetcherFactory(path)} />,
23
- document.getElementById("documentation"),
24
- );
25
- };
26
-
1
+ import "entrypoints/decidim_api_docs.scss";