fix: send string to generate code

pull/77/head
corpulent 3 years ago
parent 359eb11628
commit 675f613c04

@ -1,3 +1,4 @@
import json
from rest_framework import generics, status from rest_framework import generics, status
from rest_framework.response import Response from rest_framework.response import Response
@ -11,7 +12,7 @@ class GenerateGenericAPIView(generics.GenericAPIView):
return Response({}, status=status.HTTP_404_NOT_FOUND) return Response({}, status=status.HTTP_404_NOT_FOUND)
def post(self, request, format=None): def post(self, request, format=None):
request_data = request.data request_data = json.loads(request.data)
version = request_data['data'].get('version', '3') version = request_data['data'].get('version', '3')
services = request_data['data'].get('services', None) services = request_data['data'].get('services', None)
volumes = request_data['data'].get('volumes', None) volumes = request_data['data'].get('volumes', None)

@ -71,6 +71,7 @@ def generate(services, volumes, networks, version="3", return_format='yaml'):
s = io.StringIO() s = io.StringIO()
ret_yaml = YAML() ret_yaml = YAML()
ret_yaml.indent(mapping=2, sequence=4, offset=2) ret_yaml.indent(mapping=2, sequence=4, offset=2)
ret_yaml.preserve_quotes = True
ret_yaml.explicit_start = True ret_yaml.explicit_start = True
specified_version = get_version(version) specified_version = get_version(version)
base_version = int(specified_version) base_version = int(specified_version)

@ -182,7 +182,7 @@ export default function Project() {
debounce((graphData) => { debounce((graphData) => {
graphData.networks = stateNetworksRef.current; graphData.networks = stateNetworksRef.current;
const flatData = generatePayload(graphData); const flatData = generatePayload(graphData);
generateHttp(flatData) generateHttp(JSON.stringify(flatData))
.then(checkHttpStatus) .then(checkHttpStatus)
.then((data) => { .then((data) => {
if (data["code"].length) { if (data["code"].length) {

@ -1,7 +1,6 @@
import { IGeneratePayload } from "../types";
import { API_SERVER_URL } from "../constants"; import { API_SERVER_URL } from "../constants";
export const generateHttp = (data: IGeneratePayload) => { export const generateHttp = (data: string) => {
return fetch(`${API_SERVER_URL}/generate/`, { return fetch(`${API_SERVER_URL}/generate/`, {
method: "POST", method: "POST",
headers: { headers: {

@ -12,6 +12,11 @@ export const generatePayload = (data: any): IGeneratePayload => {
} }
}; };
Object.keys(networks).forEach((key) => {
base.data.networks[networks[key].canvasConfig.node_name] =
networks[key].networkConfig;
});
Object.keys(nodes).forEach((key) => { Object.keys(nodes).forEach((key) => {
if (nodes[key].type === "SERVICE") { if (nodes[key].type === "SERVICE") {
base.data.services[nodes[key].canvasConfig.node_name] = base.data.services[nodes[key].canvasConfig.node_name] =
@ -24,10 +29,5 @@ export const generatePayload = (data: any): IGeneratePayload => {
} }
}); });
Object.keys(networks).forEach((key) => {
base.data.networks[networks[key].canvasConfig.node_name] =
networks[key].networkConfig;
});
return base; return base;
}; };

Loading…
Cancel
Save