fix: manifest types

pull/118/head
corpulent 3 years ago
parent 5837b4b04e
commit 1c8876eab1

@ -1,6 +1,7 @@
import { useEffect, useMemo, useRef, useState } from "react"; import { useEffect, useMemo, useRef, useState } from "react";
import YAML from "yaml"; import YAML from "yaml";
import { debounce } from "lodash"; import { debounce } from "lodash";
import { manifestTypes } from "../../constants";
import { generatePayload } from "../../utils/generators"; import { generatePayload } from "../../utils/generators";
import { checkHttpStatus } from "../../services/helpers"; import { checkHttpStatus } from "../../services/helpers";
import { generateHttp } from "../../services/generate"; import { generateHttp } from "../../services/generate";
@ -12,19 +13,19 @@ import useWindowDimensions from "../../hooks/useWindowDimensions";
const CodeBox = () => { const CodeBox = () => {
const versionRef = useRef<string>(); const versionRef = useRef<string>();
const manifestRef = useRef<number>(); const manifestRef = useRef<string>();
const [language, setLanguage] = useState("yaml"); const [language, setLanguage] = useState("yaml");
const [version, setVersion] = useState("3"); const [version, setVersion] = useState("3");
const [copyText, setCopyText] = useState("Copy"); const [copyText, setCopyText] = useState("Copy");
const [generatedCode, setGeneratedCode] = useState<string>(""); const [generatedCode, setGeneratedCode] = useState<string>("");
const [formattedCode, setFormattedCode] = useState<string>(""); const [formattedCode, setFormattedCode] = useState<string>("");
const [manifest, setManifest] = useState(0); const [manifest, setManifest] = useState(manifestTypes.DOCKER_COMPOSE);
const { height } = useWindowDimensions(); const { height } = useWindowDimensions();
versionRef.current = version; versionRef.current = version;
manifestRef.current = manifest; manifestRef.current = manifest;
const getCode = (payload: any, manifest: number) => { const getCode = (payload: any, manifest: string) => {
generateHttp(JSON.stringify(payload), manifest) generateHttp(JSON.stringify(payload), manifest)
.then(checkHttpStatus) .then(checkHttpStatus)
.then((data) => { .then((data) => {
@ -34,13 +35,11 @@ const CodeBox = () => {
setGeneratedCode(""); setGeneratedCode("");
} }
if (data["error"].length) { if (data["error"]) {
setGeneratedCode(""); setGeneratedCode("");
toaster(`error ${data["error"]}`, "error"); toaster(`error ${data["error"]}`, "error");
} }
}) });
.catch(() => undefined)
.finally(() => undefined);
}; };
const debouncedOnGraphUpdate = useMemo( const debouncedOnGraphUpdate = useMemo(

@ -1,5 +1,6 @@
import { styled } from "@mui/material"; import { styled } from "@mui/material";
import { useCallback, useState } from "react"; import { useCallback, useState } from "react";
import { manifestTypes } from "../../constants";
import DcLogo from "../global/dc-logo"; import DcLogo from "../global/dc-logo";
import K8sLogo from "../global/k8s-logo"; import K8sLogo from "../global/k8s-logo";
@ -24,25 +25,33 @@ interface IManifestSelectProps {
const ManifestSelect = (props: IManifestSelectProps) => { const ManifestSelect = (props: IManifestSelectProps) => {
const { setManifest } = props; const { setManifest } = props;
const [selected, setSelected] = useState(0); const [selected, setSelected] = useState(manifestTypes.DOCKER_COMPOSE);
const handleK8s = useCallback(() => { const handleK8s = useCallback(() => {
setManifest(1); setManifest(manifestTypes.KUBERNETES);
setSelected(1); setSelected(manifestTypes.KUBERNETES);
}, []); }, []);
const handleDC = useCallback(() => { const handleDC = useCallback(() => {
setManifest(0); setManifest(manifestTypes.DOCKER_COMPOSE);
setSelected(0); setSelected(manifestTypes.DOCKER_COMPOSE);
}, []); }, []);
return ( return (
<> <>
<Button selected={selected === 1} type="button" onClick={handleK8s}> <Button
selected={selected === manifestTypes.KUBERNETES}
type="button"
onClick={handleK8s}
>
<K8sLogo /> <K8sLogo />
</Button> </Button>
<Button selected={selected === 0} type="button" onClick={handleDC}> <Button
selected={selected === manifestTypes.DOCKER_COMPOSE}
type="button"
onClick={handleDC}
>
<DcLogo /> <DcLogo />
</Button> </Button>
</> </>

@ -4,3 +4,7 @@ export const REACT_APP_GITHUB_CLIENT_ID =
export const REACT_APP_GITHUB_SCOPE = process.env.REACT_APP_GITHUB_SCOPE; export const REACT_APP_GITHUB_SCOPE = process.env.REACT_APP_GITHUB_SCOPE;
export const PROJECTS_FETCH_LIMIT = 300; export const PROJECTS_FETCH_LIMIT = 300;
export const LOCAL_STORAGE = "CtkLocalStorage"; export const LOCAL_STORAGE = "CtkLocalStorage";
export const manifestTypes = {
DOCKER_COMPOSE: "DOCKER_COMPOSE",
KUBERNETES: "KUBERNETES"
};

@ -1,12 +1,13 @@
import { manifestTypes } from "../constants";
import { API_SERVER_URL } from "../constants"; import { API_SERVER_URL } from "../constants";
export const generateHttp = (data: string, manifest: number) => { export const generateHttp = (data: string, manifest: string) => {
let endpoint = `${API_SERVER_URL}/generate/`; let endpoint = `${API_SERVER_URL}/generate/`;
if (manifest === 0) { if (manifest === manifestTypes.DOCKER_COMPOSE) {
endpoint += "docker-compose"; endpoint += "docker-compose";
} }
if (manifest === 1) { if (manifest === manifestTypes.KUBERNETES) {
endpoint += "kubernetes"; endpoint += "kubernetes";
} }

Loading…
Cancel
Save