From a994b08f02aeae42d72b65057ae63e5d24e38859 Mon Sep 17 00:00:00 2001 From: sadnub Date: Thu, 29 Jul 2021 19:41:32 -0400 Subject: [PATCH] rework script manager and modals to composition api. Start on script snippets --- src/api/scripts.js | 62 +- src/components/FileBar.vue | 17 +- src/components/modals/agents/EditAgent.vue | 2 +- src/components/modals/clients/ClientsForm.vue | 2 +- src/components/modals/clients/SitesForm.vue | 2 +- .../modals/scripts/ScriptFormModal.vue | 332 ----------- .../modals/scripts/ScriptUploadModal.vue | 196 ------ src/components/scripts/ScriptFormModal.vue | 229 +++++++ .../{ => scripts}/ScriptManager.vue | 564 ++++++++++-------- src/components/scripts/ScriptUploadModal.vue | 174 ++++++ .../{modals => }/scripts/TestScriptModal.vue | 1 + src/components/ui/CodeEditor.vue | 85 +++ src/components/{ => ui}/CustomField.vue | 0 src/composables/scripts.js | 55 +- src/mixins/mixins.js | 6 +- src/utils/format.js | 2 + src/utils/notify.js | 33 + src/views/Dashboard.vue | 1 - 18 files changed, 934 insertions(+), 829 deletions(-) delete mode 100644 src/components/modals/scripts/ScriptFormModal.vue delete mode 100644 src/components/modals/scripts/ScriptUploadModal.vue create mode 100644 src/components/scripts/ScriptFormModal.vue rename src/components/{ => scripts}/ScriptManager.vue (62%) create mode 100644 src/components/scripts/ScriptUploadModal.vue rename src/components/{modals => }/scripts/TestScriptModal.vue (99%) create mode 100644 src/components/ui/CodeEditor.vue rename src/components/{ => ui}/CustomField.vue (100%) create mode 100644 src/utils/notify.js diff --git a/src/api/scripts.js b/src/api/scripts.js index 1316f7b..d7af8c6 100644 --- a/src/api/scripts.js +++ b/src/api/scripts.js @@ -2,9 +2,10 @@ import axios from "axios" const baseUrl = "/scripts" +// script operations export async function fetchScripts(params = {}) { try { - const { data } = await axios.get(`${baseUrl}/scripts/`, { params: params }) + const { data } = await axios.get(`${baseUrl}/`, { params: params }) return data } catch (e) { } } @@ -14,4 +15,63 @@ export async function testScript(payload) { const { data } = await axios.post(`${baseUrl}/testscript/`, payload) return data } catch (e) { } +} + +export async function saveScript(payload) { + const { data } = await axios.post(`${baseUrl}/`, payload) + return data +} + +export async function editScript(payload) { + const { data } = await axios.put(`${baseUrl}/${payload.id}/`, payload) + return data +} + +export async function removeScript(id) { + const { data } = await axios.delete(`${baseUrl}/${id}/`) + return data +} + +export async function downloadScript(id, params = {}) { + try { + const { data } = await axios.get(`${baseUrl}/download/${id}/`, { params: params }) + return data + } catch (e) { } +} + + +// script snippet operations +export async function fetchScriptSnippets(params = {}) { + try { + const { data } = await axios.get(`${baseUrl}/snippets/`, { params: params }) + return data + } catch (e) { } +} + +export async function addScriptSnippet(payload) { + try { + const { data } = await axios.post(`${baseUrl}/snippets/`, payload) + return data + } catch (e) { } +} + +export async function fetchScriptSnippet(id, params = {}) { + try { + const { data } = await axios.get(`${baseUrl}/snippets/${id}/`, { params: params }) + return data + } catch (e) { } +} + +export async function editScriptSnippet(payload) { + try { + const { data } = await axios.put(`${baseUrl}/snippets/${payload.id}/`, payload) + return data + } catch (e) { } +} + +export async function deleteScriptSnippet(payload) { + try { + const { data } = await axios.delete(`${baseUrl}/snippets/${payload.id}/`) + return data + } catch (e) { } } \ No newline at end of file diff --git a/src/components/FileBar.vue b/src/components/FileBar.vue index 236e1cf..5ef5dfd 100644 --- a/src/components/FileBar.vue +++ b/src/components/FileBar.vue @@ -70,7 +70,7 @@ Clients Manager - + Script Manager @@ -166,12 +166,6 @@ - -
- - - -
@@ -210,7 +204,7 @@ import ClientsManager from "@/components/ClientsManager"; import ClientsForm from "@/components/modals/clients/ClientsForm"; import SitesForm from "@/components/modals/clients/SitesForm"; import UpdateAgents from "@/components/modals/agents/UpdateAgents"; -import ScriptManager from "@/components/ScriptManager"; +import ScriptManager from "@/components/scripts/ScriptManager"; import EditCoreSettings from "@/components/modals/coresettings/EditCoreSettings"; import AlertsManager from "@/components/AlertsManager"; import AutomationManager from "@/components/automation/AutomationManager"; @@ -230,7 +224,6 @@ export default { components: { PendingActions, UpdateAgents, - ScriptManager, EditCoreSettings, InstallAgent, UploadMesh, @@ -253,7 +246,6 @@ export default { showPendingActions: false, bulkMode: null, showDeployment: false, - showScriptManager: false, showCodeSign: false, }; }, @@ -336,6 +328,11 @@ export default { }, }); }, + showScriptManager() { + this.$q.dialog({ + component: ScriptManager, + }); + }, showDebugLog() { this.$q.dialog({ component: DialogWrapper, diff --git a/src/components/modals/agents/EditAgent.vue b/src/components/modals/agents/EditAgent.vue index e7a31e4..8121a3f 100644 --- a/src/components/modals/agents/EditAgent.vue +++ b/src/components/modals/agents/EditAgent.vue @@ -148,7 +148,7 @@ import { mapGetters } from "vuex"; import mixins from "@/mixins/mixins"; import PatchPolicyForm from "@/components/modals/agents/PatchPolicyForm"; -import CustomField from "@/components/CustomField"; +import CustomField from "@/components/ui/CustomField"; export default { name: "EditAgent", diff --git a/src/components/modals/clients/ClientsForm.vue b/src/components/modals/clients/ClientsForm.vue index 1d1a7c9..75ade03 100644 --- a/src/components/modals/clients/ClientsForm.vue +++ b/src/components/modals/clients/ClientsForm.vue @@ -44,7 +44,7 @@ - - \ No newline at end of file diff --git a/src/components/modals/scripts/ScriptUploadModal.vue b/src/components/modals/scripts/ScriptUploadModal.vue deleted file mode 100644 index 65cd92c..0000000 --- a/src/components/modals/scripts/ScriptUploadModal.vue +++ /dev/null @@ -1,196 +0,0 @@ - - - \ No newline at end of file diff --git a/src/components/scripts/ScriptFormModal.vue b/src/components/scripts/ScriptFormModal.vue new file mode 100644 index 0000000..7753b8c --- /dev/null +++ b/src/components/scripts/ScriptFormModal.vue @@ -0,0 +1,229 @@ + + + \ No newline at end of file diff --git a/src/components/ScriptManager.vue b/src/components/scripts/ScriptManager.vue similarity index 62% rename from src/components/ScriptManager.vue rename to src/components/scripts/ScriptManager.vue index f1a2d63..9a5136e 100644 --- a/src/components/ScriptManager.vue +++ b/src/components/scripts/ScriptManager.vue @@ -1,6 +1,6 @@