diff --git a/.github/push_nightly.sh b/.github/push_nightly.sh index 21695b45..0c397aa2 100644 --- a/.github/push_nightly.sh +++ b/.github/push_nightly.sh @@ -2,8 +2,14 @@ docker pull frikky/shuffle-backend:nightly docker pull frikky/shuffle-frontend:nightly -docker tag frikky/shuffle-backend:nightly ghcr.io/frikky/shuffle-backend:nightly -docker tag frikky/shuffle-frontend:nightly ghcr.io/frikky/shuffle-frontend:nightly +#docker tag frikky/shuffle-backend:nightly ghcr.io/frikky/shuffle-backend:nightly +#docker tag frikky/shuffle-frontend:nightly ghcr.io/frikky/shuffle-frontend:nightly +# +#docker push ghcr.io/frikky/shuffle-backend:nightly +#docker push ghcr.io/frikky/shuffle-frontend:nightly -docker push ghcr.io/frikky/shuffle-backend:nightly -docker push ghcr.io/frikky/shuffle-frontend:nightly +docker tag frikky/shuffle-backend:nightly ghcr.io/frikky/shuffle-backend:latest +docker tag frikky/shuffle-frontend:nightly ghcr.io/frikky/shuffle-frontend:latest + +docker push ghcr.io/frikky/shuffle-backend:latest +docker push ghcr.io/frikky/shuffle-frontend:latest diff --git a/backend/go-app/go.mod b/backend/go-app/go.mod index 6318e789..1e9f553a 100644 --- a/backend/go-app/go.mod +++ b/backend/go-app/go.mod @@ -24,7 +24,7 @@ require ( github.com/h2non/filetype v1.1.3 github.com/nirasan/go-oauth-pkce-code-verifier v0.0.0-20170819232839-0fbfe93532da // indirect github.com/satori/go.uuid v1.2.0 - github.com/shuffle/shuffle-shared v0.2.69 + github.com/shuffle/shuffle-shared v0.2.72 go4.org v0.0.0-20201209231011-d4a079459e60 // indirect golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce google.golang.org/api v0.65.0 diff --git a/frontend/src/components/ParsedAction.jsx b/frontend/src/components/ParsedAction.jsx index 79abb454..712e7624 100644 --- a/frontend/src/components/ParsedAction.jsx +++ b/frontend/src/components/ParsedAction.jsx @@ -1533,7 +1533,6 @@ const ParsedAction = (props) => { multiline = data.name.startsWith("${") && data.name.endsWith("}") ? true : multiline - console.log("Next to datafield") var datafield = ( { ); // Finds headers from a string to be used for autocompletion - console.log("Before header update") const findHeaders = (inputdata) => { var splitdata = inputdata.split("\n") @@ -1725,7 +1723,7 @@ const ParsedAction = (props) => { if (data.name.toLowerCase() === "headers") { //var tmpheaders = findHeaders(data.value) var tmpheaders = findHeaders(selectedActionParameters[count].value) - datafield = + const tmpdatafield =
{tmpheaders.map((inputdata, index) => { const oldkey = inputdata.key @@ -1862,8 +1860,6 @@ const ParsedAction = (props) => {
} - console.log("After header update") - //console.log("FIELD VALUE: ", data.value) //const regexp = new RegExp("\W+\.", "g") //let match @@ -2725,7 +2721,7 @@ const ParsedAction = (props) => { paddingRight: 0, }} onClick={() => { - setAuthenticationModalOpen(true); + setAuthenticationModalOpen(true) }} > { const [appsLoaded, setAppsLoaded] = React.useState(false); const [showVideo, setShowVideo] = React.useState(""); const [editWorkflowModalOpen, setEditWorkflowModalOpen] = React.useState(false); + const [userediting, setUserediting] = React.useState(false) const [lastSaved, setLastSaved] = React.useState(true); @@ -392,6 +393,50 @@ const AngularWorkflow = (defaultprops) => { }, }); + const getAppDocs = (appname) => { + fetch(`${globalUrl}/api/v1/docs/${appname}?location=openapi`, { + headers: { + Accept: "application/json", + }, + credentials: "include", + }) + .then((response) => { + if (response.status === 200) { + //alert.success("Successfully GOT app "+appId) + } else { + //alert.error("Failed getting app"); + } + + return response.json(); + }) + .then((responseJson) => { + if (responseJson.success === true) { + console.log("RESPONSE FOR APP: ", responseJson.reason); + + if (responseJson.reason !== undefined && responseJson.reason !== undefined && responseJson.reason.length > 0) { + selectedApp.documentation = responseJson.reason + setSelectedApp(selectedApp) + setUpdate(Math.random()) + } + } + + }) + .catch((error) => { + alert.error(error.toString()); + }); + }; + + useEffect(() => { + if (authenticationModalOpen === true && selectedAction.app_name !== undefined) { + console.log(`Should get app docs for: ${selectedAction.app_name}`) + + if (selectedAction.documentation === undefined || selectedAction.documentation === null || selectedAction.documentation.length === 0) { + // SelectedApp.documentation = Markdown? If so, it works + getAppDocs(selectedAction.app_name) + } + } + }, [authenticationModalOpen]) + const getAvailableWorkflows = (trigger_index) => { fetch(globalUrl + "/api/v1/workflows", { method: "GET", @@ -1173,6 +1218,10 @@ const AngularWorkflow = (defaultprops) => { } } + if (userediting === true) { + useworkflow.user_editing = true + } + useworkflow.actions = newActions; useworkflow.triggers = newTriggers; useworkflow.branches = newBranches; @@ -10814,7 +10863,7 @@ const AngularWorkflow = (defaultprops) => { )} {/*userdata.avatar === creatorProfile.github_avatar ? null :*/} - +