<!-- HTML for static distribution bundle build -->
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>Swagger UI</title>
    <link rel="stylesheet" type="text/css" href="./swagger-assets/swagger-ui.css" />
    <link rel="icon" type="image/png" href="./swagger-assets/favicon-32x32.png" sizes="32x32" />
    <link rel="icon" type="image/png" href="./swagger-assets/favicon-16x16.png" sizes="16x16" />
    <style>
      html
      {
        box-sizing: border-box;
        overflow: -moz-scrollbars-vertical;
        overflow-y: scroll;
      }

      *,
      *:before,
      *:after
      {
        box-sizing: inherit;
      }

      body
      {
        margin:0;
        background: #fafafa;
      }
    </style>
  </head>

  <body>
    <div id="swagger-ui"></div>

    <script src="./swagger-assets/swagger-ui-bundle.js" charset="UTF-8"> </script>
    <script src="./swagger-assets/swagger-ui-standalone-preset.js" charset="UTF-8"> </script>
    <script>
    window.onload = function() {
      // Begin Swagger UI call region
      const ui = SwaggerUIBundle({
        url: "{{ env('APP_URL') }}/swagger/json",
        dom_id: '#swagger-ui',
        deepLinking: true,
        presets: [
          SwaggerUIBundle.presets.apis,
          SwaggerUIStandalonePreset
        ],
        plugins: [
          SwaggerUIBundle.plugins.DownloadUrl
        ],
        responseInterceptor:
            function (response) {
                console.log('Response');
                console.log(response.obj);
                if (response.obj.payload) {
                    if (response.obj.payload.access_token) {
                        const token = response.obj.payload.access_token;
                        console.log("Auth Token: " + token);
                        localStorage.setItem("token", token)
                    }
                    return response;
                }
            },
        requestInterceptor:
            function (request) {
                console.log('Request');
                console.log(request);
                if( request.url.indexOf('login') < 0 && request.url.indexOf('swagger/json') < 0) {
                    request.headers.Authorization = "Bearer " + localStorage.getItem("token");
                }
                return request;
            },
        layout: "StandaloneLayout"
      });
      // End Swagger UI call region

      window.ui = ui;
    };
  </script>
  </body>
</html>
