feat: Add listForms dynamic data to Typeform app

This commit is contained in:
Faruk AYDIN
2022-11-24 17:07:18 +01:00
committed by Ali BARIN
parent 8d8a9f7c78
commit 397926f994
5 changed files with 67 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
import listForms from './list-forms';
export default [listForms];

View File

@@ -0,0 +1,25 @@
import { IGlobalVariable, IJSONObject } from '@automatisch/types';
export default {
name: 'List forms',
key: 'listForms',
async run($: IGlobalVariable) {
const forms: {
data: IJSONObject[];
} = {
data: [],
};
const response = await $.http.get('/forms');
forms.data = response.data.items.map((form: IJSONObject) => {
return {
value: form.id,
name: form.title,
};
});
return forms;
},
};

View File

@@ -1,6 +1,8 @@
import defineApp from '../../helpers/define-app'; import defineApp from '../../helpers/define-app';
import addAuthHeader from './common/add-auth-header'; import addAuthHeader from './common/add-auth-header';
import auth from './auth'; import auth from './auth';
import triggers from './triggers';
import dynamicData from './dynamic-data';
export default defineApp({ export default defineApp({
name: 'Typeform', name: 'Typeform',
@@ -13,4 +15,6 @@ export default defineApp({
primaryColor: '000000', primaryColor: '000000',
beforeRequest: [addAuthHeader], beforeRequest: [addAuthHeader],
auth, auth,
triggers,
dynamicData,
}); });

View File

@@ -0,0 +1,3 @@
import newEntry from './new-entry';
export default [newEntry];

View File

@@ -0,0 +1,32 @@
import defineTrigger from '../../../../helpers/define-trigger';
export default defineTrigger({
name: 'New entry',
key: 'newEntry',
pollInterval: 15,
description: 'Triggers when a new form submitted.',
arguments: [
{
label: 'Form',
key: 'form',
type: 'dropdown' as const,
required: true,
description: 'Pick a form to receive submissions.',
variables: false,
source: {
type: 'query',
name: 'getDynamicData',
arguments: [
{
name: 'key',
value: 'listForms',
},
],
},
},
],
async run($) {
// await getUserTweets($, { currentUser: true });
},
});