refactor(editor): Decouple REST calls from views (no-changelog) (#5202)
* decouple rest calls * remove console.log
This commit is contained in:
committed by
GitHub
parent
7aa65315cc
commit
b69f480d4c
@@ -51,7 +51,6 @@ import mixins from 'vue-typed-mixins';
|
||||
import { EnterpriseEditionFeature } from '@/constants';
|
||||
import { showMessage } from '@/mixins/showMessage';
|
||||
import { useLogStreamingStore } from '../../stores/logStreamingStore';
|
||||
import { restApi } from '@/mixins/restApi';
|
||||
import Vue from 'vue';
|
||||
import { mapStores } from 'pinia';
|
||||
import {
|
||||
@@ -59,7 +58,6 @@ import {
|
||||
defaultMessageEventBusDestinationOptions,
|
||||
MessageEventBusDestinationOptions,
|
||||
} from 'n8n-workflow';
|
||||
import { saveDestinationToDb } from './Helpers.ee';
|
||||
import { BaseTextKey } from '../../plugins/i18n';
|
||||
|
||||
export const DESTINATION_LIST_ITEM_ACTIONS = {
|
||||
@@ -67,7 +65,7 @@ export const DESTINATION_LIST_ITEM_ACTIONS = {
|
||||
DELETE: 'delete',
|
||||
};
|
||||
|
||||
export default mixins(showMessage, restApi).extend({
|
||||
export default mixins(showMessage).extend({
|
||||
data() {
|
||||
return {
|
||||
EnterpriseEditionFeature,
|
||||
@@ -142,7 +140,7 @@ export default mixins(showMessage, restApi).extend({
|
||||
this.saveDestination();
|
||||
},
|
||||
async saveDestination() {
|
||||
await saveDestinationToDb(this.restApi(), this.nodeParameters);
|
||||
await this.logStreamingStore.saveDestination(this.nodeParameters);
|
||||
},
|
||||
async onAction(action: string) {
|
||||
if (action === DESTINATION_LIST_ITEM_ACTIONS.OPEN) {
|
||||
|
||||
@@ -178,7 +178,6 @@ import mixins from 'vue-typed-mixins';
|
||||
import { useLogStreamingStore } from '../../stores/logStreamingStore';
|
||||
import { useNDVStore } from '../../stores/ndv';
|
||||
import { useWorkflowsStore } from '../../stores/workflows';
|
||||
import { restApi } from '../../mixins/restApi';
|
||||
import ParameterInputList from '@/components/ParameterInputList.vue';
|
||||
import NodeCredentials from '@/components/NodeCredentials.vue';
|
||||
import { IMenuItem, INodeUi, ITab, IUpdateInformation } from '../../Interface';
|
||||
@@ -200,7 +199,7 @@ import Modal from '@/components/Modal.vue';
|
||||
import { showMessage } from '@/mixins/showMessage';
|
||||
import { useUIStore } from '../../stores/ui';
|
||||
import { useUsersStore } from '../../stores/users';
|
||||
import { destinationToFakeINodeUi, saveDestinationToDb, sendTestMessage } from './Helpers.ee';
|
||||
import { destinationToFakeINodeUi } from './Helpers.ee';
|
||||
import {
|
||||
webhookModalDescription,
|
||||
sentryModalDescription,
|
||||
@@ -212,7 +211,7 @@ import SaveButton from '../SaveButton.vue';
|
||||
import EventSelection from '@/components/SettingsLogStreaming/EventSelection.ee.vue';
|
||||
import { Checkbox } from 'element-ui';
|
||||
|
||||
export default mixins(showMessage, restApi).extend({
|
||||
export default mixins(showMessage).extend({
|
||||
name: 'event-destination-settings-modal',
|
||||
props: {
|
||||
modalName: String,
|
||||
@@ -427,12 +426,14 @@ export default mixins(showMessage, restApi).extend({
|
||||
this.nodeParameters = deepCopy(nodeParameters);
|
||||
this.workflowsStore.updateNodeProperties({
|
||||
name: this.node.name,
|
||||
properties: { parameters: this.nodeParameters as unknown as IDataObject },
|
||||
properties: { parameters: this.nodeParameters as unknown as IDataObject, position: [0, 0] },
|
||||
});
|
||||
this.logStreamingStore.updateDestination(this.nodeParameters);
|
||||
if (this.hasOnceBeenSaved) {
|
||||
this.logStreamingStore.updateDestination(this.nodeParameters);
|
||||
}
|
||||
},
|
||||
async sendTestEvent() {
|
||||
this.testMessageResult = await sendTestMessage(this.restApi(), this.nodeParameters);
|
||||
this.testMessageResult = await this.logStreamingStore.sendTestMessage(this.nodeParameters);
|
||||
this.testMessageSent = true;
|
||||
},
|
||||
async removeThis() {
|
||||
@@ -467,12 +468,14 @@ export default mixins(showMessage, restApi).extend({
|
||||
if (this.unchanged || !this.destination.id) {
|
||||
return;
|
||||
}
|
||||
await saveDestinationToDb(this.restApi(), this.nodeParameters);
|
||||
this.hasOnceBeenSaved = true;
|
||||
this.testMessageSent = false;
|
||||
this.unchanged = true;
|
||||
this.$props.eventBus.$emit('destinationWasSaved', this.destination.id);
|
||||
this.uiStore.stateIsDirty = false;
|
||||
const saveResult = await this.logStreamingStore.saveDestination(this.nodeParameters);
|
||||
if (saveResult === true) {
|
||||
this.hasOnceBeenSaved = true;
|
||||
this.testMessageSent = false;
|
||||
this.unchanged = true;
|
||||
this.$props.eventBus.$emit('destinationWasSaved', this.destination.id);
|
||||
this.uiStore.stateIsDirty = false;
|
||||
}
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { INodeCredentials, INodeParameters, MessageEventBusDestinationOptions } from 'n8n-workflow';
|
||||
import { INodeUi, IRestApi } from '../../Interface';
|
||||
import { useLogStreamingStore } from '../../stores/logStreamingStore';
|
||||
import { INodeUi } from '../../Interface';
|
||||
|
||||
export function destinationToFakeINodeUi(
|
||||
destination: MessageEventBusDestinationOptions,
|
||||
@@ -20,39 +19,3 @@ export function destinationToFakeINodeUi(
|
||||
},
|
||||
} as INodeUi;
|
||||
}
|
||||
|
||||
export async function saveDestinationToDb(
|
||||
restApi: IRestApi,
|
||||
destination: MessageEventBusDestinationOptions,
|
||||
) {
|
||||
const logStreamingStore = useLogStreamingStore();
|
||||
if (destination.id) {
|
||||
const data: MessageEventBusDestinationOptions = {
|
||||
...destination,
|
||||
subscribedEvents: logStreamingStore.getSelectedEvents(destination.id),
|
||||
};
|
||||
try {
|
||||
await restApi.makeRestApiRequest('POST', '/eventbus/destination', data);
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
logStreamingStore.updateDestination(destination);
|
||||
}
|
||||
}
|
||||
|
||||
export async function sendTestMessage(
|
||||
restApi: IRestApi,
|
||||
destination: MessageEventBusDestinationOptions,
|
||||
) {
|
||||
if (destination.id) {
|
||||
try {
|
||||
const sendResult = await restApi.makeRestApiRequest('GET', '/eventbus/testmessage', {
|
||||
id: destination.id,
|
||||
});
|
||||
return sendResult;
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user