Merge pull request #603 from automatisch/issue-598

fix: only show apps with actions in action step
This commit is contained in:
Ömer Faruk Aydın
2022-10-15 13:41:09 +02:00
committed by GitHub
6 changed files with 14 additions and 6 deletions

View File

@@ -4,6 +4,7 @@ import { IApp } from '@automatisch/types';
type Params = {
name: string;
onlyWithTriggers: boolean;
onlyWithActions: boolean;
};
const getApps = async (_parent: unknown, params: Params) => {
@@ -13,6 +14,10 @@ const getApps = async (_parent: unknown, params: Params) => {
return apps.filter((app: IApp) => app.triggers?.length);
}
if (params.onlyWithActions) {
return apps.filter((app: IApp) => app.actions?.length);
}
return apps;
};

View File

@@ -1,5 +1,5 @@
type Query {
getApps(name: String, onlyWithTriggers: Boolean): [App]
getApps(name: String, onlyWithTriggers: Boolean, onlyWithActions: Boolean): [App]
getApp(key: AvailableAppsEnumType!): App
getConnectedApps(name: String): [App]
testConnection(id: String!): Connection

View File

@@ -49,9 +49,10 @@ function ChooseAppAndEventSubstep(
const editorContext = React.useContext(EditorContext);
const isTrigger = step.type === 'trigger';
const isAction = step.type === 'action';
const { data } = useQuery(GET_APPS, {
variables: { onlyWithTriggers: isTrigger },
variables: { onlyWithTriggers: isTrigger, onlyWithActions: isAction },
});
const apps: IApp[] = data?.getApps;
const app = apps?.find((currentApp: IApp) => currentApp.key === step.appKey);

View File

@@ -31,8 +31,9 @@ export default function ExecutionStep(props: ExecutionStepProps): React.ReactEle
const [activeTabIndex, setActiveTabIndex] = React.useState(0);
const step: IStep = executionStep.step;
const isTrigger = step.type === 'trigger';
const isAction = step.type === 'action';
const formatMessage = useFormatMessage();
const { data } = useQuery(GET_APPS, { variables: { onlyWithTriggers: isTrigger }});
const { data } = useQuery(GET_APPS, { variables: { onlyWithTriggers: isTrigger, onlyWithActions: isAction }});
const apps: IApp[] = data?.getApps;
const app = apps?.find((currentApp: IApp) => currentApp.key === step.appKey);

View File

@@ -108,10 +108,11 @@ export default function FlowStep(
null
);
const isTrigger = step.type === 'trigger';
const isAction = step.type === 'action';
const formatMessage = useFormatMessage();
const [currentSubstep, setCurrentSubstep] = React.useState<number | null>(0);
const { data } = useQuery(GET_APPS, {
variables: { onlyWithTriggers: isTrigger },
variables: { onlyWithTriggers: isTrigger, onlyWithActions: isAction },
});
const [
getStepWithTestExecutions,

View File

@@ -1,8 +1,8 @@
import { gql } from '@apollo/client';
export const GET_APPS = gql`
query GetApps($name: String, $onlyWithTriggers: Boolean) {
getApps(name: $name, onlyWithTriggers: $onlyWithTriggers) {
query GetApps($name: String, $onlyWithTriggers: Boolean, $onlyWithActions: Boolean) {
getApps(name: $name, onlyWithTriggers: $onlyWithTriggers, onlyWithActions: $onlyWithActions) {
name
key
iconUrl