feat: Implement onlyWithTriggers flag for getApps graphQL query

This commit is contained in:
Faruk AYDIN
2022-01-31 23:14:49 +03:00
committed by Ömer Faruk Aydın
parent 7740529a2a
commit 6c0ba197c6

View File

@@ -1,21 +1,29 @@
import { GraphQLString, GraphQLList } from 'graphql'; import { GraphQLString, GraphQLList, GraphQLBoolean } from 'graphql';
import appType from '../types/app'; import appType from '../types/app';
import App from '../../models/app'; import App from '../../models/app';
type Params = { type Params = {
name: string name: string;
} onlyWithTriggers: boolean;
};
const getAppsResolver = (params: Params) => { const getAppsResolver = (params: Params) => {
return App.findAll(params.name) const apps = App.findAll(params.name);
}
if (params.onlyWithTriggers) {
return apps.filter((app: any) => app.triggers?.length);
}
return apps;
};
const getApps = { const getApps = {
type: GraphQLList(appType), type: GraphQLList(appType),
args: { args: {
name: { type: GraphQLString } name: { type: GraphQLString },
onlyWithTriggers: { type: GraphQLBoolean },
}, },
resolve: (_: any, params: Params) => getAppsResolver(params) resolve: (_: any, params: Params) => getAppsResolver(params),
} };
export default getApps; export default getApps;