decidim-api 0.26.9 → 0.27.0.rc1

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: c084685971f6f294d420ce46e63fc24d695d0718d557d73cbd244a607b84100b
4
- data.tar.gz: 5040d4dbdc33c4a8c1d524dd5d95ee66c1a64fdd7e40be794bdfc326c94ea1c3
3
+ metadata.gz: 375abae8676bbaa74f4c9154b1f5bd5054f11a8aea0e55dd24c95a8301194639
4
+ data.tar.gz: 40b74c9f85f075c6837bfbdc4b0b595ddac35d719aaef847e03154830e47acc8
5
5
  SHA512:
6
- metadata.gz: a9eaffbdae80b731dbdf707650312ddeed1132454bf973d4e8e479a2ca8d44f313c277ea98e29d0d2323ea060aa1f6b71b22264088c30d438be6acbd016e62b8
7
- data.tar.gz: 024ef8c024a72007a1d32cd10133eb581237d506654364a58bc46a4519d02f8317246b1a1b56662f90f125658ff04cb035b9372d93383ead4728a67de3ff4f4c
6
+ metadata.gz: 6c33a5d70f54b4c86a75bfdb632fdb3923fcf4123a24cf7600499e975192bf81a6348641161b07536dc149e24283a5f8b594358c86681dc8cdc7dc683aca80e4
7
+ data.tar.gz: deb1025710b486eb047c35b498b83db87497852cfacdfd6e2098de05351aaaacc4e77010851d55b8e758c42420f504b848b546cd0257d63c60ddf66303f2531f
@@ -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";