runline 0.32.0 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth/oauth2.d.ts +7 -1
- package/dist/auth/oauth2.js +10 -0
- package/dist/auth/token.d.ts +1 -0
- package/dist/auth/token.js +19 -1
- package/dist/auth/types.d.ts +22 -1
- package/dist/core/engine.d.ts +7 -0
- package/dist/core/engine.js +9 -0
- package/dist/credentials/policy.d.ts +53 -1
- package/dist/credentials/policy.js +146 -6
- package/dist/credentials/registry.d.ts +9 -0
- package/dist/credentials/registry.js +179 -22
- package/dist/credentials/transport.d.ts +48 -2
- package/dist/credentials/transport.js +248 -70
- package/dist/credentials/types.d.ts +167 -10
- package/dist/index.d.ts +5 -5
- package/dist/index.js +2 -2
- package/dist/plugin/api.d.ts +7 -0
- package/dist/plugin/api.js +7 -0
- package/dist/plugin/types.d.ts +12 -0
- package/dist/plugins/_shared/credentialAdapter.js +79 -15
- package/dist/plugins/_shared/credentials.js +389 -0
- package/dist/plugins/_shared/googleAuth.js +9 -40
- package/dist/plugins/_shared/googleCredentials.js +28 -7
- package/dist/plugins/_shared/microsoftAuth.js +13 -44
- package/dist/plugins/_shared/microsoftCredentials.js +30 -8
- package/dist/plugins/_shared/provider.js +2 -14
- package/dist/plugins/_shared/shiftCloud.js +22 -34
- package/dist/plugins/_shared/shiftCredentials.js +83 -0
- package/dist/plugins/_shared/shiftUpload.js +1 -1
- package/dist/plugins/actionNetwork/src/credentials.js +14 -0
- package/dist/plugins/actionNetwork/src/index.js +39 -50
- package/dist/plugins/activeCampaign/src/credentials.js +22 -0
- package/dist/plugins/activeCampaign/src/index.js +61 -132
- package/dist/plugins/adalo/src/credentials.js +16 -0
- package/dist/plugins/adalo/src/index.js +19 -43
- package/dist/plugins/affinity/src/credentials.js +19 -0
- package/dist/plugins/affinity/src/index.js +29 -54
- package/dist/plugins/agileCrm/src/credentials.js +16 -0
- package/dist/plugins/agileCrm/src/index.js +46 -112
- package/dist/plugins/airtable/src/credentials.js +19 -0
- package/dist/plugins/airtable/src/index.js +37 -50
- package/dist/plugins/airtop/src/credentials.js +20 -0
- package/dist/plugins/airtop/src/index.js +51 -75
- package/dist/plugins/apiTemplateIo/src/credentials.js +19 -0
- package/dist/plugins/apiTemplateIo/src/index.js +14 -31
- package/dist/plugins/asana/src/credentials.js +19 -0
- package/dist/plugins/asana/src/index.js +51 -72
- package/dist/plugins/autopilot/src/credentials.js +19 -0
- package/dist/plugins/autopilot/src/index.js +38 -45
- package/dist/plugins/bambooHr/src/credentials.js +16 -0
- package/dist/plugins/bambooHr/src/index.js +41 -67
- package/dist/plugins/bannerbear/src/credentials.js +19 -0
- package/dist/plugins/bannerbear/src/index.js +15 -27
- package/dist/plugins/baserow/src/credentials.js +17 -0
- package/dist/plugins/baserow/src/index.js +23 -49
- package/dist/plugins/beeminder/src/credentials.js +19 -0
- package/dist/plugins/beeminder/src/index.js +32 -54
- package/dist/plugins/bitly/src/credentials.js +19 -0
- package/dist/plugins/bitly/src/index.js +12 -26
- package/dist/plugins/bitwarden/src/credentials.js +62 -0
- package/dist/plugins/bitwarden/src/index.js +34 -80
- package/dist/plugins/box/src/credentials.js +19 -0
- package/dist/plugins/box/src/index.js +24 -49
- package/dist/plugins/brandfetch/src/credentials.js +13 -0
- package/dist/plugins/brandfetch/src/index.js +12 -17
- package/dist/plugins/brevo/src/credentials.js +19 -0
- package/dist/plugins/brevo/src/index.js +30 -51
- package/dist/plugins/bubble/src/credentials.js +28 -0
- package/dist/plugins/bubble/src/index.js +29 -65
- package/dist/plugins/chargebee/src/credentials.js +16 -0
- package/dist/plugins/chargebee/src/index.js +15 -45
- package/dist/plugins/circleci/src/credentials.js +19 -0
- package/dist/plugins/circleci/src/index.js +19 -39
- package/dist/plugins/ciscoWebex/src/credentials.js +19 -0
- package/dist/plugins/ciscoWebex/src/index.js +43 -61
- package/dist/plugins/clearbit/src/credentials.js +22 -0
- package/dist/plugins/clearbit/src/index.js +11 -21
- package/dist/plugins/clickup/src/credentials.js +19 -0
- package/dist/plugins/clickup/src/index.js +85 -117
- package/dist/plugins/clockify/src/credentials.js +19 -0
- package/dist/plugins/clockify/src/index.js +46 -61
- package/dist/plugins/cloudflare/src/credentials.js +19 -0
- package/dist/plugins/cloudflare/src/index.js +19 -34
- package/dist/plugins/cockpit/src/credentials.js +17 -0
- package/dist/plugins/cockpit/src/index.js +18 -31
- package/dist/plugins/coda/src/credentials.js +19 -0
- package/dist/plugins/coda/src/index.js +33 -50
- package/dist/plugins/coingecko/src/credentials.js +20 -0
- package/dist/plugins/coingecko/src/index.js +24 -34
- package/dist/plugins/contentful/src/credentials.js +26 -0
- package/dist/plugins/contentful/src/index.js +19 -40
- package/dist/plugins/convertkit/src/credentials.js +26 -0
- package/dist/plugins/convertkit/src/index.js +27 -45
- package/dist/plugins/copper/src/credentials.js +17 -0
- package/dist/plugins/copper/src/index.js +25 -47
- package/dist/plugins/cortex/src/credentials.js +28 -0
- package/dist/plugins/cortex/src/index.js +26 -49
- package/dist/plugins/currents/src/credentials.js +19 -0
- package/dist/plugins/currents/src/index.js +46 -59
- package/dist/plugins/customerIo/src/credentials.js +52 -0
- package/dist/plugins/customerIo/src/index.js +30 -58
- package/dist/plugins/databricks/src/credentials.js +13 -0
- package/dist/plugins/databricks/src/index.js +51 -103
- package/dist/plugins/deepl/src/credentials.js +19 -0
- package/dist/plugins/deepl/src/index.js +13 -39
- package/dist/plugins/demio/src/credentials.js +26 -0
- package/dist/plugins/demio/src/index.js +17 -41
- package/dist/plugins/dhl/src/credentials.js +13 -0
- package/dist/plugins/dhl/src/index.js +8 -19
- package/dist/plugins/discord/src/credentials.js +19 -0
- package/dist/plugins/discord/src/index.js +30 -58
- package/dist/plugins/discourse/src/credentials.js +18 -0
- package/dist/plugins/discourse/src/index.js +36 -53
- package/dist/plugins/disqus/src/credentials.js +13 -0
- package/dist/plugins/disqus/src/index.js +14 -32
- package/dist/plugins/drift/src/credentials.js +13 -0
- package/dist/plugins/drift/src/index.js +16 -26
- package/dist/plugins/dropbox/src/credentials.js +13 -0
- package/dist/plugins/dropbox/src/index.js +23 -30
- package/dist/plugins/dropcontact/src/credentials.js +13 -0
- package/dist/plugins/dropcontact/src/index.js +13 -18
- package/dist/plugins/egoi/src/credentials.js +19 -0
- package/dist/plugins/egoi/src/index.js +23 -38
- package/dist/plugins/elasticsearch/src/credentials.js +18 -0
- package/dist/plugins/elasticsearch/src/index.js +27 -48
- package/dist/plugins/elevenlabs/src/credentials.js +30 -0
- package/dist/plugins/elevenlabs/src/index.js +4 -1
- package/dist/plugins/elevenlabs/src/schemas.js +2 -1
- package/dist/plugins/elevenlabs/src/shared.js +74 -35
- package/dist/plugins/elevenlabs/src/workflows.js +2 -2
- package/dist/plugins/emelia/src/credentials.js +14 -0
- package/dist/plugins/emelia/src/index.js +19 -23
- package/dist/plugins/erpnext/src/credentials.js +27 -0
- package/dist/plugins/erpnext/src/index.js +21 -42
- package/dist/plugins/facebookGraph/src/credentials.js +20 -0
- package/dist/plugins/facebookGraph/src/index.js +39 -37
- package/dist/plugins/fal/src/credentials.js +14 -0
- package/dist/plugins/fal/src/index.js +4 -2
- package/dist/plugins/fal/src/shared.js +58 -63
- package/dist/plugins/freshdesk/src/credentials.js +20 -0
- package/dist/plugins/freshdesk/src/index.js +25 -46
- package/dist/plugins/freshservice/src/credentials.js +16 -0
- package/dist/plugins/freshservice/src/index.js +37 -58
- package/dist/plugins/freshworksCrm/src/credentials.js +16 -0
- package/dist/plugins/freshworksCrm/src/index.js +20 -39
- package/dist/plugins/getresponse/src/credentials.js +22 -0
- package/dist/plugins/getresponse/src/index.js +20 -32
- package/dist/plugins/gett/src/credentials.js +64 -0
- package/dist/plugins/gett/src/index.js +11 -6
- package/dist/plugins/gett/src/login.js +24 -0
- package/dist/plugins/gett/src/session.js +15 -38
- package/dist/plugins/gett/src/shared.js +41 -84
- package/dist/plugins/ghost/src/credentials.js +36 -0
- package/dist/plugins/ghost/src/index.js +18 -59
- package/dist/plugins/github/src/credentials.js +18 -0
- package/dist/plugins/github/src/index.js +55 -78
- package/dist/plugins/gitlab/src/credentials.js +24 -0
- package/dist/plugins/gitlab/src/index.js +29 -48
- package/dist/plugins/gmail/src/index.js +26 -24
- package/dist/plugins/gong/src/credentials.js +16 -0
- package/dist/plugins/gong/src/index.js +16 -32
- package/dist/plugins/googleAppsScript/src/index.js +108 -42
- package/dist/plugins/googleCalendar/src/index.js +15 -13
- package/dist/plugins/googleContacts/src/index.js +12 -9
- package/dist/plugins/googleDocs/src/index.js +2 -0
- package/dist/plugins/googleDocs/src/shared.js +2 -1
- package/dist/plugins/googleDrive/src/index.js +50 -53
- package/dist/plugins/googleImage/src/credentials.js +14 -0
- package/dist/plugins/googleImage/src/index.js +14 -25
- package/dist/plugins/googleSheets/src/index.js +26 -27
- package/dist/plugins/googleSlides/src/index.js +6 -4
- package/dist/plugins/googleTasks/src/index.js +13 -11
- package/dist/plugins/gotify/src/credentials.js +32 -0
- package/dist/plugins/gotify/src/index.js +14 -36
- package/dist/plugins/gotowebinar/src/credentials.js +13 -0
- package/dist/plugins/gotowebinar/src/index.js +52 -69
- package/dist/plugins/grafana/src/credentials.js +16 -0
- package/dist/plugins/grafana/src/index.js +34 -53
- package/dist/plugins/graphql/src/credentials.js +42 -0
- package/dist/plugins/graphql/src/index.js +21 -46
- package/dist/plugins/grist/src/credentials.js +30 -0
- package/dist/plugins/grist/src/index.js +14 -43
- package/dist/plugins/halopsa/src/credentials.js +56 -0
- package/dist/plugins/halopsa/src/index.js +20 -47
- package/dist/plugins/harvest/src/credentials.js +20 -0
- package/dist/plugins/harvest/src/index.js +24 -43
- package/dist/plugins/helpscout/src/credentials.js +13 -0
- package/dist/plugins/helpscout/src/index.js +26 -38
- package/dist/plugins/highlevel/src/credentials.js +19 -0
- package/dist/plugins/highlevel/src/index.js +34 -63
- package/dist/plugins/homeAssistant/src/credentials.js +27 -0
- package/dist/plugins/homeAssistant/src/index.js +34 -52
- package/dist/plugins/hubspot/src/credentials.js +16 -0
- package/dist/plugins/hubspot/src/index.js +29 -41
- package/dist/plugins/humanticAi/src/credentials.js +13 -0
- package/dist/plugins/humanticAi/src/index.js +15 -22
- package/dist/plugins/hunter/src/credentials.js +13 -0
- package/dist/plugins/hunter/src/index.js +18 -17
- package/dist/plugins/intercom/src/credentials.js +19 -0
- package/dist/plugins/intercom/src/index.js +25 -38
- package/dist/plugins/iterable/src/credentials.js +17 -0
- package/dist/plugins/iterable/src/index.js +26 -40
- package/dist/plugins/jenkins/src/credentials.js +16 -0
- package/dist/plugins/jenkins/src/index.js +22 -36
- package/dist/plugins/jira/src/credentials.js +16 -0
- package/dist/plugins/jira/src/index.js +35 -61
- package/dist/plugins/keap/src/credentials.js +19 -0
- package/dist/plugins/keap/src/index.js +43 -71
- package/dist/plugins/kobotoolbox/src/credentials.js +13 -0
- package/dist/plugins/kobotoolbox/src/index.js +46 -84
- package/dist/plugins/lemlist/src/credentials.js +19 -0
- package/dist/plugins/lemlist/src/index.js +35 -47
- package/dist/plugins/linear/src/attachments.js +7 -7
- package/dist/plugins/linear/src/comments.js +7 -7
- package/dist/plugins/linear/src/credentials.js +17 -0
- package/dist/plugins/linear/src/cycles.js +5 -5
- package/dist/plugins/linear/src/index.js +2 -0
- package/dist/plugins/linear/src/initiatives.js +6 -6
- package/dist/plugins/linear/src/issues.js +14 -14
- package/dist/plugins/linear/src/labels.js +6 -6
- package/dist/plugins/linear/src/organization.js +2 -2
- package/dist/plugins/linear/src/projects.js +12 -12
- package/dist/plugins/linear/src/shared.js +34 -32
- package/dist/plugins/linear/src/states.js +3 -3
- package/dist/plugins/linear/src/teams.js +4 -4
- package/dist/plugins/linear/src/users.js +3 -3
- package/dist/plugins/linear/src/views.js +5 -5
- package/dist/plugins/linear/src/webhooks.js +5 -5
- package/dist/plugins/lingvanex/src/credentials.js +13 -0
- package/dist/plugins/lingvanex/src/index.js +7 -9
- package/dist/plugins/linkedin/src/credentials.js +17 -0
- package/dist/plugins/linkedin/src/index.js +13 -17
- package/dist/plugins/lonescale/src/credentials.js +13 -0
- package/dist/plugins/lonescale/src/index.js +16 -26
- package/dist/plugins/magento/src/credentials.js +16 -0
- package/dist/plugins/magento/src/index.js +67 -84
- package/dist/plugins/mailcheck/src/credentials.js +17 -0
- package/dist/plugins/mailcheck/src/index.js +7 -9
- package/dist/plugins/mailchimp/src/credentials.js +32 -0
- package/dist/plugins/mailchimp/src/index.js +36 -44
- package/dist/plugins/mailerlite/src/credentials.js +13 -0
- package/dist/plugins/mailerlite/src/index.js +19 -32
- package/dist/plugins/mailgun/src/credentials.js +21 -0
- package/dist/plugins/mailgun/src/index.js +15 -21
- package/dist/plugins/mailjet/src/credentials.js +38 -0
- package/dist/plugins/mailjet/src/index.js +60 -115
- package/dist/plugins/mandrill/src/credentials.js +17 -0
- package/dist/plugins/mandrill/src/index.js +11 -12
- package/dist/plugins/marketstack/src/credentials.js +16 -0
- package/dist/plugins/marketstack/src/index.js +18 -28
- package/dist/plugins/matrix/src/credentials.js +19 -0
- package/dist/plugins/matrix/src/index.js +23 -52
- package/dist/plugins/mattermost/src/credentials.js +19 -0
- package/dist/plugins/mattermost/src/index.js +41 -73
- package/dist/plugins/mautic/src/credentials.js +16 -0
- package/dist/plugins/mautic/src/index.js +46 -62
- package/dist/plugins/medium/src/credentials.js +20 -0
- package/dist/plugins/medium/src/index.js +18 -23
- package/dist/plugins/messagebird/src/credentials.js +22 -0
- package/dist/plugins/messagebird/src/index.js +13 -18
- package/dist/plugins/metabase/src/credentials.js +19 -0
- package/dist/plugins/metabase/src/index.js +24 -40
- package/dist/plugins/microsoftCalendar/src/index.js +48 -12
- package/dist/plugins/microsoftFiles/src/index.js +90 -25
- package/dist/plugins/microsoftMail/src/index.js +62 -15
- package/dist/plugins/misp/src/credentials.js +16 -0
- package/dist/plugins/misp/src/index.js +60 -71
- package/dist/plugins/mocean/src/credentials.js +17 -0
- package/dist/plugins/mocean/src/index.js +11 -23
- package/dist/plugins/monday/src/credentials.js +14 -0
- package/dist/plugins/monday/src/index.js +31 -44
- package/dist/plugins/monicaCrm/src/credentials.js +19 -0
- package/dist/plugins/monicaCrm/src/index.js +25 -42
- package/dist/plugins/msg91/src/credentials.js +10 -0
- package/dist/plugins/msg91/src/index.js +15 -11
- package/dist/plugins/nasa/src/credentials.js +22 -0
- package/dist/plugins/nasa/src/index.js +24 -28
- package/dist/plugins/netlify/src/credentials.js +19 -0
- package/dist/plugins/netlify/src/index.js +27 -51
- package/dist/plugins/netscalerAdc/src/credentials.js +18 -0
- package/dist/plugins/netscalerAdc/src/index.js +16 -31
- package/dist/plugins/nextcloud/src/credentials.js +27 -0
- package/dist/plugins/nextcloud/src/index.js +55 -109
- package/dist/plugins/nocodb/src/credentials.js +16 -0
- package/dist/plugins/nocodb/src/index.js +19 -37
- package/dist/plugins/notion/src/credentials.js +21 -0
- package/dist/plugins/notion/src/index.js +25 -38
- package/dist/plugins/npm/src/credentials.js +19 -0
- package/dist/plugins/npm/src/index.js +22 -32
- package/dist/plugins/odoo/src/credentials.js +21 -0
- package/dist/plugins/odoo/src/index.js +53 -69
- package/dist/plugins/okta/src/credentials.js +23 -0
- package/dist/plugins/okta/src/index.js +30 -35
- package/dist/plugins/oneSimpleApi/src/credentials.js +16 -0
- package/dist/plugins/oneSimpleApi/src/index.js +19 -24
- package/dist/plugins/onfleet/src/credentials.js +23 -0
- package/dist/plugins/onfleet/src/index.js +42 -53
- package/dist/plugins/openai/src/credentials.js +13 -0
- package/dist/plugins/openai/src/index.js +15 -23
- package/dist/plugins/openweathermap/src/credentials.js +16 -0
- package/dist/plugins/openweathermap/src/index.js +22 -22
- package/dist/plugins/oura/src/credentials.js +19 -0
- package/dist/plugins/oura/src/index.js +13 -18
- package/dist/plugins/paddle/src/credentials.js +27 -0
- package/dist/plugins/paddle/src/index.js +20 -36
- package/dist/plugins/pagerduty/src/credentials.js +24 -0
- package/dist/plugins/pagerduty/src/index.js +30 -39
- package/dist/plugins/parallel/src/credentials.js +18 -0
- package/dist/plugins/parallel/src/index.js +16 -22
- package/dist/plugins/paypal/src/credentials.js +44 -0
- package/dist/plugins/paypal/src/index.js +14 -40
- package/dist/plugins/peekalink/src/credentials.js +16 -0
- package/dist/plugins/peekalink/src/index.js +10 -11
- package/dist/plugins/phantombuster/src/credentials.js +19 -0
- package/dist/plugins/phantombuster/src/index.js +19 -32
- package/dist/plugins/philipsHue/src/credentials.js +17 -0
- package/dist/plugins/philipsHue/src/index.js +15 -27
- package/dist/plugins/pipedrive/src/credentials.js +26 -0
- package/dist/plugins/pipedrive/src/index.js +43 -73
- package/dist/plugins/plaud/src/index.js +2 -1
- package/dist/plugins/plaud/src/shared.js +23 -19
- package/dist/plugins/plivo/src/credentials.js +20 -0
- package/dist/plugins/plivo/src/index.js +13 -19
- package/dist/plugins/posthog/src/credentials.js +18 -0
- package/dist/plugins/posthog/src/index.js +14 -20
- package/dist/plugins/profitwell/src/credentials.js +22 -0
- package/dist/plugins/profitwell/src/index.js +10 -17
- package/dist/plugins/pushbullet/src/credentials.js +19 -0
- package/dist/plugins/pushbullet/src/index.js +19 -27
- package/dist/plugins/pushcut/src/credentials.js +19 -0
- package/dist/plugins/pushcut/src/index.js +7 -8
- package/dist/plugins/pushover/src/credentials.js +14 -0
- package/dist/plugins/pushover/src/index.js +7 -12
- package/dist/plugins/quickbase/src/credentials.js +15 -0
- package/dist/plugins/quickbase/src/index.js +24 -34
- package/dist/plugins/quickbooks/src/credentials.js +22 -0
- package/dist/plugins/quickbooks/src/index.js +17 -46
- package/dist/plugins/raindrop/src/credentials.js +19 -0
- package/dist/plugins/raindrop/src/index.js +30 -32
- package/dist/plugins/recraft/src/credentials.js +13 -0
- package/dist/plugins/recraft/src/index.js +38 -27
- package/dist/plugins/reddit/src/credentials.js +26 -0
- package/dist/plugins/reddit/src/index.js +30 -34
- package/dist/plugins/replicate/src/credentials.js +23 -0
- package/dist/plugins/replicate/src/index.js +17 -27
- package/dist/plugins/rocketchat/src/credentials.js +17 -0
- package/dist/plugins/rocketchat/src/index.js +8 -19
- package/dist/plugins/rundeck/src/credentials.js +16 -0
- package/dist/plugins/rundeck/src/index.js +12 -28
- package/dist/plugins/salesforce/src/credentials.js +73 -0
- package/dist/plugins/salesforce/src/index.js +6 -0
- package/dist/plugins/salesforce/src/metadata.js +3 -16
- package/dist/plugins/salesforce/src/shared.js +25 -100
- package/dist/plugins/salesforce/src/sobjects.js +10 -9
- package/dist/plugins/salesmate/src/credentials.js +17 -0
- package/dist/plugins/salesmate/src/index.js +20 -37
- package/dist/plugins/securityScorecard/src/credentials.js +22 -0
- package/dist/plugins/securityScorecard/src/index.js +24 -37
- package/dist/plugins/segment/src/credentials.js +16 -0
- package/dist/plugins/segment/src/index.js +12 -16
- package/dist/plugins/sendgrid/src/credentials.js +13 -0
- package/dist/plugins/sendgrid/src/index.js +31 -35
- package/dist/plugins/sendy/src/credentials.js +18 -0
- package/dist/plugins/sendy/src/index.js +18 -24
- package/dist/plugins/sentry/src/credentials.js +16 -0
- package/dist/plugins/sentry/src/index.js +30 -98
- package/dist/plugins/servicenow/src/credentials.js +13 -0
- package/dist/plugins/servicenow/src/index.js +22 -41
- package/dist/plugins/shiftAtlas/src/graph.js +2 -2
- package/dist/plugins/shiftAtlas/src/index.js +2 -0
- package/dist/plugins/shiftAtlas/src/shared.js +3 -1
- package/dist/plugins/shiftBwm/src/collections.js +201 -0
- package/dist/plugins/shiftBwm/src/index.js +35 -0
- package/dist/plugins/shiftBwm/src/records.js +180 -0
- package/dist/plugins/shiftBwm/src/shared.js +168 -0
- package/dist/plugins/shiftBwm/src/vendor/client.js +227 -0
- package/dist/plugins/shiftBwm/src/vendor/contracts.js +59 -0
- package/dist/plugins/shiftBwm/src/vendor/models.js +525 -0
- package/dist/plugins/shiftCrm/src/access.js +2 -2
- package/dist/plugins/shiftCrm/src/accounts.js +3 -3
- package/dist/plugins/shiftCrm/src/activities.js +3 -3
- package/dist/plugins/shiftCrm/src/credentials.js +6 -0
- package/dist/plugins/shiftCrm/src/index.js +2 -0
- package/dist/plugins/shiftCrm/src/opportunities.js +3 -3
- package/dist/plugins/shiftCrm/src/people.js +3 -3
- package/dist/plugins/shiftCrm/src/records.js +2 -2
- package/dist/plugins/shiftCrm/src/shared.js +2 -1
- package/dist/plugins/shiftCrm/src/tasks.js +3 -3
- package/dist/plugins/shiftObjects/src/credentials.js +2 -0
- package/dist/plugins/shiftObjects/src/index.js +2 -0
- package/dist/plugins/shiftObjects/src/objects.js +3 -3
- package/dist/plugins/shiftOcr/src/credentials.js +8 -0
- package/dist/plugins/shiftOcr/src/index.js +5 -2
- package/dist/plugins/shiftPages/src/index.js +2 -0
- package/dist/plugins/shiftPages/src/pages.js +5 -3
- package/dist/plugins/shiftPages/src/shared.js +3 -1
- package/dist/plugins/shiftTranscription/src/index.js +2 -0
- package/dist/plugins/shiftTranscription/src/shared.js +11 -1
- package/dist/plugins/shiftTranscription/src/transcription.js +3 -2
- package/dist/plugins/shiftWork/src/index.js +2 -0
- package/dist/plugins/shiftWork/src/issue-views.js +5 -5
- package/dist/plugins/shiftWork/src/issues.js +11 -7
- package/dist/plugins/shiftWork/src/projects.js +3 -3
- package/dist/plugins/shiftWork/src/shared.js +3 -1
- package/dist/plugins/shopify/src/credentials.js +16 -0
- package/dist/plugins/shopify/src/index.js +32 -59
- package/dist/plugins/signl4/src/credentials.js +17 -0
- package/dist/plugins/signl4/src/index.js +28 -29
- package/dist/plugins/slack/src/credentials.js +19 -0
- package/dist/plugins/slack/src/index.js +51 -60
- package/dist/plugins/sms77/src/credentials.js +17 -0
- package/dist/plugins/sms77/src/index.js +11 -16
- package/dist/plugins/splunk/src/credentials.js +19 -0
- package/dist/plugins/splunk/src/index.js +32 -74
- package/dist/plugins/spotify/src/credentials.js +19 -0
- package/dist/plugins/spotify/src/index.js +40 -55
- package/dist/plugins/stackby/src/credentials.js +13 -0
- package/dist/plugins/stackby/src/index.js +14 -23
- package/dist/plugins/steel/src/auth.js +27 -0
- package/dist/plugins/steel/src/browser.js +4 -3
- package/dist/plugins/steel/src/captchas.js +4 -3
- package/dist/plugins/steel/src/extensions.js +3 -2
- package/dist/plugins/steel/src/files.js +9 -10
- package/dist/plugins/steel/src/index.js +2 -0
- package/dist/plugins/steel/src/page/tools.js +3 -3
- package/dist/plugins/steel/src/profiles.js +4 -3
- package/dist/plugins/steel/src/sessions.js +13 -13
- package/dist/plugins/steel/src/shared.js +21 -51
- package/dist/plugins/storyblok/src/credentials.js +37 -0
- package/dist/plugins/storyblok/src/index.js +22 -66
- package/dist/plugins/strapi/src/credentials.js +71 -0
- package/dist/plugins/strapi/src/index.js +36 -70
- package/dist/plugins/strava/src/credentials.js +19 -0
- package/dist/plugins/strava/src/index.js +16 -33
- package/dist/plugins/stripe/src/credentials.js +19 -0
- package/dist/plugins/stripe/src/index.js +44 -58
- package/dist/plugins/supabase/src/credentials.js +30 -0
- package/dist/plugins/supabase/src/index.js +18 -40
- package/dist/plugins/syncromsp/src/credentials.js +16 -0
- package/dist/plugins/syncromsp/src/index.js +37 -70
- package/dist/plugins/tapfiliate/src/credentials.js +13 -0
- package/dist/plugins/tapfiliate/src/index.js +21 -31
- package/dist/plugins/telegram/src/credentials.js +20 -0
- package/dist/plugins/telegram/src/index.js +31 -39
- package/dist/plugins/thehive/src/credentials.js +14 -0
- package/dist/plugins/thehive/src/index.js +33 -50
- package/dist/plugins/thehiveProject/src/credentials.js +16 -0
- package/dist/plugins/thehiveProject/src/index.js +53 -122
- package/dist/plugins/todoist/src/credentials.js +26 -0
- package/dist/plugins/todoist/src/index.js +49 -79
- package/dist/plugins/together/src/credentials.js +16 -0
- package/dist/plugins/together/src/index.js +30 -32
- package/dist/plugins/travisci/src/credentials.js +24 -0
- package/dist/plugins/travisci/src/index.js +16 -30
- package/dist/plugins/trello/src/credentials.js +29 -0
- package/dist/plugins/trello/src/index.js +49 -64
- package/dist/plugins/twake/src/credentials.js +16 -0
- package/dist/plugins/twake/src/index.js +8 -10
- package/dist/plugins/twilio/src/credentials.js +23 -0
- package/dist/plugins/twilio/src/index.js +12 -26
- package/dist/plugins/twist/src/credentials.js +13 -0
- package/dist/plugins/twist/src/index.js +32 -44
- package/dist/plugins/twitter/src/credentials.js +16 -0
- package/dist/plugins/twitter/src/index.js +25 -37
- package/dist/plugins/typesafe/src/credentials.js +28 -0
- package/dist/plugins/typesafe/src/index.js +3 -1
- package/dist/plugins/typesafe/src/shared.js +23 -35
- package/dist/plugins/unleashedSoftware/src/credentials.js +21 -0
- package/dist/plugins/unleashedSoftware/src/index.js +13 -37
- package/dist/plugins/uplead/src/credentials.js +16 -0
- package/dist/plugins/uplead/src/index.js +11 -16
- package/dist/plugins/uproc/src/credentials.js +14 -0
- package/dist/plugins/uproc/src/index.js +7 -10
- package/dist/plugins/uptimerobot/src/credentials.js +14 -0
- package/dist/plugins/uptimerobot/src/index.js +28 -39
- package/dist/plugins/urlscanio/src/credentials.js +13 -0
- package/dist/plugins/urlscanio/src/index.js +13 -22
- package/dist/plugins/vercel/src/credentials.js +19 -0
- package/dist/plugins/vercel/src/deployments.js +27 -11
- package/dist/plugins/vercel/src/env.js +31 -12
- package/dist/plugins/vercel/src/index.js +2 -0
- package/dist/plugins/vercel/src/projects.js +6 -3
- package/dist/plugins/vercel/src/shared.js +32 -37
- package/dist/plugins/vero/src/credentials.js +17 -0
- package/dist/plugins/vero/src/index.js +18 -21
- package/dist/plugins/vonage/src/credentials.js +17 -0
- package/dist/plugins/vonage/src/index.js +14 -18
- package/dist/plugins/wekan/src/credentials.js +16 -0
- package/dist/plugins/wekan/src/index.js +33 -46
- package/dist/plugins/wolt/src/account.js +6 -0
- package/dist/plugins/wolt/src/catalog.js +2 -2
- package/dist/plugins/wolt/src/credentials.js +64 -0
- package/dist/plugins/wolt/src/index.js +8 -3
- package/dist/plugins/wolt/src/orders.js +2 -2
- package/dist/plugins/wolt/src/public.js +91 -0
- package/dist/plugins/wolt/src/shared.js +49 -158
- package/dist/plugins/woocommerce/src/credentials.js +16 -0
- package/dist/plugins/woocommerce/src/index.js +19 -37
- package/dist/plugins/wordpress/src/credentials.js +16 -0
- package/dist/plugins/wordpress/src/index.js +23 -42
- package/dist/plugins/xai/src/credentials.js +13 -0
- package/dist/plugins/xai/src/index.js +31 -30
- package/dist/plugins/xero/src/credentials.js +17 -0
- package/dist/plugins/xero/src/index.js +19 -36
- package/dist/plugins/yourls/src/credentials.js +17 -0
- package/dist/plugins/yourls/src/index.js +13 -23
- package/dist/plugins/zammad/src/credentials.js +15 -0
- package/dist/plugins/zammad/src/index.js +27 -47
- package/dist/plugins/zendesk/src/credentials.js +26 -0
- package/dist/plugins/zendesk/src/index.js +29 -48
- package/dist/plugins/zoho/src/credentials.js +17 -0
- package/dist/plugins/zoho/src/index.js +18 -38
- package/dist/plugins/zoom/src/credentials.js +19 -0
- package/dist/plugins/zoom/src/index.js +15 -30
- package/dist/plugins/zulip/src/credentials.js +16 -0
- package/dist/plugins/zulip/src/index.js +36 -42
- package/dist/sdk.d.ts +8 -0
- package/dist/sdk.js +3 -0
- package/package.json +3 -2
- package/dist/plugins/_shared/authedFetch.js +0 -33
- package/dist/plugins/_shared/tokenRefresh.js +0 -41
|
@@ -1,43 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
const opts = {
|
|
1
|
+
import { credentialJson, pathSegment } from "../../_shared/credentials.js";
|
|
2
|
+
import { mattermostCredential } from "./credentials.js";
|
|
3
|
+
function apiRequest(ctx, method, path, body, query) {
|
|
4
|
+
return credentialJson(ctx, mattermostCredential, "mattermost", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path,
|
|
10
7
|
method,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
};
|
|
16
|
-
if (body !== undefined && method !== "GET" && method !== "DELETE") {
|
|
17
|
-
opts.body = typeof body === "string" ? body : JSON.stringify(body);
|
|
18
|
-
}
|
|
19
|
-
const res = await fetch(url.toString(), opts);
|
|
20
|
-
if (!res.ok)
|
|
21
|
-
throw new Error(`Mattermost API error ${res.status}: ${await res.text()}`);
|
|
22
|
-
if (res.status === 204)
|
|
23
|
-
return { success: true };
|
|
24
|
-
return res.json();
|
|
8
|
+
query,
|
|
9
|
+
...(body !== undefined && method !== "GET" && method !== "DELETE"
|
|
10
|
+
? { json: body }
|
|
11
|
+
: {}),
|
|
12
|
+
});
|
|
25
13
|
}
|
|
26
|
-
async function paginateAll(
|
|
14
|
+
async function paginateAll(ctx, path, query = {}) {
|
|
27
15
|
const all = [];
|
|
28
|
-
|
|
29
|
-
|
|
16
|
+
query.page = 0;
|
|
17
|
+
query.per_page = 100;
|
|
30
18
|
let data;
|
|
31
19
|
do {
|
|
32
|
-
data = (await apiRequest(
|
|
20
|
+
data = (await apiRequest(ctx, "GET", path, undefined, query));
|
|
33
21
|
all.push(...data);
|
|
34
|
-
|
|
22
|
+
query.page++;
|
|
35
23
|
} while (data.length > 0);
|
|
36
24
|
return all;
|
|
37
25
|
}
|
|
38
26
|
export default function mattermost(rl) {
|
|
39
27
|
rl.setName("mattermost");
|
|
40
28
|
rl.setVersion("0.1.0");
|
|
29
|
+
rl.setCredential(mattermostCredential);
|
|
41
30
|
rl.setConnectionSchema({
|
|
42
31
|
baseUrl: {
|
|
43
32
|
type: "string",
|
|
@@ -52,10 +41,6 @@ export default function mattermost(rl) {
|
|
|
52
41
|
env: "MATTERMOST_TOKEN",
|
|
53
42
|
},
|
|
54
43
|
});
|
|
55
|
-
const conn = (ctx) => ({
|
|
56
|
-
baseUrl: ctx.connection.config.baseUrl.replace(/\/$/, ""),
|
|
57
|
-
token: ctx.connection.config.accessToken,
|
|
58
|
-
});
|
|
59
44
|
// ── Channel ─────────────────────────────────────────
|
|
60
45
|
rl.registerAction("channel.create", {
|
|
61
46
|
access: "write",
|
|
@@ -80,8 +65,7 @@ export default function mattermost(rl) {
|
|
|
80
65
|
},
|
|
81
66
|
async execute(input, ctx) {
|
|
82
67
|
const { teamId, displayName, name, type } = input;
|
|
83
|
-
|
|
84
|
-
return apiRequest(baseUrl, token, "POST", "channels", {
|
|
68
|
+
return apiRequest(ctx, "POST", "channels", {
|
|
85
69
|
team_id: teamId,
|
|
86
70
|
display_name: displayName,
|
|
87
71
|
name,
|
|
@@ -94,8 +78,7 @@ export default function mattermost(rl) {
|
|
|
94
78
|
description: "Delete (archive) a channel",
|
|
95
79
|
inputSchema: { channelId: { type: "string", required: true } },
|
|
96
80
|
async execute(input, ctx) {
|
|
97
|
-
|
|
98
|
-
return apiRequest(baseUrl, token, "DELETE", `channels/${input.channelId}`);
|
|
81
|
+
return apiRequest(ctx, "DELETE", `channels/${pathSegment(input.channelId)}`);
|
|
99
82
|
},
|
|
100
83
|
});
|
|
101
84
|
rl.registerAction("channel.addUser", {
|
|
@@ -107,8 +90,9 @@ export default function mattermost(rl) {
|
|
|
107
90
|
},
|
|
108
91
|
async execute(input, ctx) {
|
|
109
92
|
const { channelId, userId } = input;
|
|
110
|
-
|
|
111
|
-
|
|
93
|
+
return apiRequest(ctx, "POST", `channels/${pathSegment(channelId)}/members`, {
|
|
94
|
+
user_id: userId,
|
|
95
|
+
});
|
|
112
96
|
},
|
|
113
97
|
});
|
|
114
98
|
rl.registerAction("channel.members", {
|
|
@@ -125,17 +109,16 @@ export default function mattermost(rl) {
|
|
|
125
109
|
},
|
|
126
110
|
async execute(input, ctx) {
|
|
127
111
|
const { channelId, limit, resolveData } = (input ?? {});
|
|
128
|
-
const { baseUrl, token } = conn(ctx);
|
|
129
112
|
let data;
|
|
130
113
|
if (limit) {
|
|
131
|
-
data = (await apiRequest(
|
|
114
|
+
data = (await apiRequest(ctx, "GET", `channels/${pathSegment(channelId)}/members`, undefined, { per_page: limit }));
|
|
132
115
|
}
|
|
133
116
|
else {
|
|
134
|
-
data = await paginateAll(
|
|
117
|
+
data = await paginateAll(ctx, `channels/${pathSegment(channelId)}/members`);
|
|
135
118
|
}
|
|
136
119
|
if (resolveData && data.length > 0) {
|
|
137
120
|
const userIds = data.map((m) => m.user_id);
|
|
138
|
-
return apiRequest(
|
|
121
|
+
return apiRequest(ctx, "POST", "users/ids", userIds);
|
|
139
122
|
}
|
|
140
123
|
return data;
|
|
141
124
|
},
|
|
@@ -145,8 +128,7 @@ export default function mattermost(rl) {
|
|
|
145
128
|
description: "Restore (unarchive) a channel",
|
|
146
129
|
inputSchema: { channelId: { type: "string", required: true } },
|
|
147
130
|
async execute(input, ctx) {
|
|
148
|
-
|
|
149
|
-
return apiRequest(baseUrl, token, "POST", `channels/${input.channelId}/restore`);
|
|
131
|
+
return apiRequest(ctx, "POST", `channels/${pathSegment(input.channelId)}/restore`);
|
|
150
132
|
},
|
|
151
133
|
});
|
|
152
134
|
rl.registerAction("channel.search", {
|
|
@@ -159,8 +141,7 @@ export default function mattermost(rl) {
|
|
|
159
141
|
},
|
|
160
142
|
async execute(input, ctx) {
|
|
161
143
|
const { teamId, term, limit } = input;
|
|
162
|
-
|
|
163
|
-
let data = (await apiRequest(baseUrl, token, "POST", `teams/${teamId}/channels/search`, { term }));
|
|
144
|
+
let data = (await apiRequest(ctx, "POST", `teams/${pathSegment(teamId)}/channels/search`, { term }));
|
|
164
145
|
if (limit)
|
|
165
146
|
data = data.slice(0, limit);
|
|
166
147
|
return data;
|
|
@@ -171,8 +152,7 @@ export default function mattermost(rl) {
|
|
|
171
152
|
description: "Get channel statistics",
|
|
172
153
|
inputSchema: { channelId: { type: "string", required: true } },
|
|
173
154
|
async execute(input, ctx) {
|
|
174
|
-
|
|
175
|
-
return apiRequest(baseUrl, token, "GET", `channels/${input.channelId}/stats`);
|
|
155
|
+
return apiRequest(ctx, "GET", `channels/${pathSegment(input.channelId)}/stats`);
|
|
176
156
|
},
|
|
177
157
|
});
|
|
178
158
|
// ── Message ─────────────────────────────────────────
|
|
@@ -195,13 +175,12 @@ export default function mattermost(rl) {
|
|
|
195
175
|
},
|
|
196
176
|
async execute(input, ctx) {
|
|
197
177
|
const { channelId, message, attachments, rootId } = input;
|
|
198
|
-
const { baseUrl, token } = conn(ctx);
|
|
199
178
|
const body = { channel_id: channelId, message };
|
|
200
179
|
if (attachments)
|
|
201
180
|
body.props = { attachments };
|
|
202
181
|
if (rootId)
|
|
203
182
|
body.root_id = rootId;
|
|
204
|
-
return apiRequest(
|
|
183
|
+
return apiRequest(ctx, "POST", "posts", body);
|
|
205
184
|
},
|
|
206
185
|
});
|
|
207
186
|
rl.registerAction("message.delete", {
|
|
@@ -209,8 +188,7 @@ export default function mattermost(rl) {
|
|
|
209
188
|
description: "Delete a message (post)",
|
|
210
189
|
inputSchema: { postId: { type: "string", required: true } },
|
|
211
190
|
async execute(input, ctx) {
|
|
212
|
-
|
|
213
|
-
return apiRequest(baseUrl, token, "DELETE", `posts/${input.postId}`);
|
|
191
|
+
return apiRequest(ctx, "DELETE", `posts/${pathSegment(input.postId)}`);
|
|
214
192
|
},
|
|
215
193
|
});
|
|
216
194
|
rl.registerAction("message.postEphemeral", {
|
|
@@ -227,8 +205,7 @@ export default function mattermost(rl) {
|
|
|
227
205
|
},
|
|
228
206
|
async execute(input, ctx) {
|
|
229
207
|
const { channelId, userId, message } = input;
|
|
230
|
-
|
|
231
|
-
return apiRequest(baseUrl, token, "POST", "posts/ephemeral", {
|
|
208
|
+
return apiRequest(ctx, "POST", "posts/ephemeral", {
|
|
232
209
|
user_id: userId,
|
|
233
210
|
post: { channel_id: channelId, message },
|
|
234
211
|
});
|
|
@@ -249,8 +226,7 @@ export default function mattermost(rl) {
|
|
|
249
226
|
},
|
|
250
227
|
async execute(input, ctx) {
|
|
251
228
|
const { userId, postId, emojiName } = input;
|
|
252
|
-
|
|
253
|
-
return apiRequest(baseUrl, token, "POST", "reactions", {
|
|
229
|
+
return apiRequest(ctx, "POST", "reactions", {
|
|
254
230
|
user_id: userId,
|
|
255
231
|
post_id: postId,
|
|
256
232
|
emoji_name: emojiName.replace(/:/g, ""),
|
|
@@ -268,9 +244,8 @@ export default function mattermost(rl) {
|
|
|
268
244
|
},
|
|
269
245
|
async execute(input, ctx) {
|
|
270
246
|
const { userId, postId, emojiName } = input;
|
|
271
|
-
const { baseUrl, token } = conn(ctx);
|
|
272
247
|
const name = emojiName.replace(/:/g, "");
|
|
273
|
-
return apiRequest(
|
|
248
|
+
return apiRequest(ctx, "DELETE", `users/${pathSegment(userId)}/posts/${pathSegment(postId)}/reactions/${pathSegment(name)}`);
|
|
274
249
|
},
|
|
275
250
|
});
|
|
276
251
|
rl.registerAction("reaction.list", {
|
|
@@ -282,8 +257,7 @@ export default function mattermost(rl) {
|
|
|
282
257
|
},
|
|
283
258
|
async execute(input, ctx) {
|
|
284
259
|
const { postId, limit } = input;
|
|
285
|
-
|
|
286
|
-
let data = (await apiRequest(baseUrl, token, "GET", `posts/${postId}/reactions`));
|
|
260
|
+
let data = (await apiRequest(ctx, "GET", `posts/${pathSegment(postId)}/reactions`));
|
|
287
261
|
if (data === null)
|
|
288
262
|
return [];
|
|
289
263
|
if (limit)
|
|
@@ -325,7 +299,6 @@ export default function mattermost(rl) {
|
|
|
325
299
|
},
|
|
326
300
|
async execute(input, ctx) {
|
|
327
301
|
const { username, authService, email, password, authData, additionalFields, } = input;
|
|
328
|
-
const { baseUrl, token } = conn(ctx);
|
|
329
302
|
const body = {
|
|
330
303
|
username,
|
|
331
304
|
auth_service: authService,
|
|
@@ -339,7 +312,7 @@ export default function mattermost(rl) {
|
|
|
339
312
|
}
|
|
340
313
|
if (additionalFields)
|
|
341
314
|
Object.assign(body, additionalFields);
|
|
342
|
-
return apiRequest(
|
|
315
|
+
return apiRequest(ctx, "POST", "users", body);
|
|
343
316
|
},
|
|
344
317
|
});
|
|
345
318
|
rl.registerAction("user.deactivate", {
|
|
@@ -347,8 +320,7 @@ export default function mattermost(rl) {
|
|
|
347
320
|
description: "Deactivate (delete) a user",
|
|
348
321
|
inputSchema: { userId: { type: "string", required: true } },
|
|
349
322
|
async execute(input, ctx) {
|
|
350
|
-
|
|
351
|
-
return apiRequest(baseUrl, token, "DELETE", `users/${input.userId}`);
|
|
323
|
+
return apiRequest(ctx, "DELETE", `users/${pathSegment(input.userId)}`);
|
|
352
324
|
},
|
|
353
325
|
});
|
|
354
326
|
rl.registerAction("user.list", {
|
|
@@ -376,7 +348,6 @@ export default function mattermost(rl) {
|
|
|
376
348
|
},
|
|
377
349
|
async execute(input, ctx) {
|
|
378
350
|
const p = (input ?? {});
|
|
379
|
-
const { baseUrl, token } = conn(ctx);
|
|
380
351
|
const qs = {};
|
|
381
352
|
if (p.inTeam)
|
|
382
353
|
qs.in_team = p.inTeam;
|
|
@@ -390,9 +361,9 @@ export default function mattermost(rl) {
|
|
|
390
361
|
qs.sort = p.sort;
|
|
391
362
|
if (p.limit) {
|
|
392
363
|
qs.per_page = p.limit;
|
|
393
|
-
return apiRequest(
|
|
364
|
+
return apiRequest(ctx, "GET", "users", undefined, qs);
|
|
394
365
|
}
|
|
395
|
-
return paginateAll(
|
|
366
|
+
return paginateAll(ctx, "users", qs);
|
|
396
367
|
},
|
|
397
368
|
});
|
|
398
369
|
rl.registerAction("user.getByEmail", {
|
|
@@ -400,8 +371,7 @@ export default function mattermost(rl) {
|
|
|
400
371
|
description: "Get a user by email",
|
|
401
372
|
inputSchema: { email: { type: "string", required: true } },
|
|
402
373
|
async execute(input, ctx) {
|
|
403
|
-
|
|
404
|
-
return apiRequest(baseUrl, token, "GET", `users/email/${input.email}`);
|
|
374
|
+
return apiRequest(ctx, "GET", `users/email/${pathSegment(input.email)}`);
|
|
405
375
|
},
|
|
406
376
|
});
|
|
407
377
|
rl.registerAction("user.getByIds", {
|
|
@@ -421,11 +391,10 @@ export default function mattermost(rl) {
|
|
|
421
391
|
},
|
|
422
392
|
async execute(input, ctx) {
|
|
423
393
|
const { userIds, since } = input;
|
|
424
|
-
const { baseUrl, token } = conn(ctx);
|
|
425
394
|
const qs = {};
|
|
426
395
|
if (since)
|
|
427
396
|
qs.since = new Date(since).getTime();
|
|
428
|
-
return apiRequest(
|
|
397
|
+
return apiRequest(ctx, "POST", "users/ids", userIds, qs);
|
|
429
398
|
},
|
|
430
399
|
});
|
|
431
400
|
rl.registerAction("user.invite", {
|
|
@@ -441,8 +410,7 @@ export default function mattermost(rl) {
|
|
|
441
410
|
},
|
|
442
411
|
async execute(input, ctx) {
|
|
443
412
|
const { teamId, emails } = input;
|
|
444
|
-
|
|
445
|
-
return apiRequest(baseUrl, token, "POST", `teams/${teamId}/invite/email`, emails);
|
|
413
|
+
return apiRequest(ctx, "POST", `teams/${pathSegment(teamId)}/invite/email`, emails);
|
|
446
414
|
},
|
|
447
415
|
});
|
|
448
416
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { httpsBase, staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/**
|
|
3
|
+
* A Mautic user's Basic credentials, on the connection's own instance
|
|
4
|
+
* beneath /api/.
|
|
5
|
+
*/
|
|
6
|
+
export const mauticCredential = staticCredential({
|
|
7
|
+
id: "mautic",
|
|
8
|
+
auth: { kind: "basic" },
|
|
9
|
+
local: { username: "username", password: "password" },
|
|
10
|
+
targets: (config) => ({
|
|
11
|
+
api: {
|
|
12
|
+
baseUrl: httpsBase(config.url, "api/"),
|
|
13
|
+
methods: ["GET", "POST", "PATCH", "DELETE"],
|
|
14
|
+
},
|
|
15
|
+
}),
|
|
16
|
+
});
|
|
@@ -1,38 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
const opts = {
|
|
1
|
+
import { answerFailed, credentialJson, pathSegment, } from "../../_shared/credentials.js";
|
|
2
|
+
import { mauticCredential } from "./credentials.js";
|
|
3
|
+
async function req(ctx, method, path, body, qs) {
|
|
4
|
+
const data = (await credentialJson(ctx, mauticCredential, "mautic", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path,
|
|
10
7
|
method,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
throw new Error(`Mautic API error: ${JSON.stringify(data.errors)}`);
|
|
8
|
+
query: qs,
|
|
9
|
+
...(body &&
|
|
10
|
+
Object.keys(body).length > 0 &&
|
|
11
|
+
method !== "GET" &&
|
|
12
|
+
method !== "DELETE"
|
|
13
|
+
? { json: body }
|
|
14
|
+
: {}),
|
|
15
|
+
}));
|
|
16
|
+
if (data.errors) {
|
|
17
|
+
const first = (Array.isArray(data.errors) ? data.errors[0] : undefined);
|
|
18
|
+
throw answerFailed("mautic", {
|
|
19
|
+
code: first?.code,
|
|
20
|
+
message: first?.message,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
27
23
|
return data;
|
|
28
24
|
}
|
|
29
|
-
async function
|
|
25
|
+
async function pagAll(ctx, propertyName, path, qs = {}) {
|
|
30
26
|
const all = [];
|
|
31
27
|
qs.limit = 30;
|
|
32
28
|
qs.start = 0;
|
|
33
29
|
let data;
|
|
34
30
|
do {
|
|
35
|
-
data = (await
|
|
31
|
+
data = (await req(ctx, "GET", path, undefined, qs));
|
|
36
32
|
const values = Object.values((data[propertyName] ?? {}));
|
|
37
33
|
all.push(...values);
|
|
38
34
|
qs.start += qs.limit;
|
|
@@ -43,6 +39,7 @@ async function paginateAll(baseUrl, username, password, propertyName, endpoint,
|
|
|
43
39
|
export default function mautic(rl) {
|
|
44
40
|
rl.setName("mautic");
|
|
45
41
|
rl.setVersion("0.1.0");
|
|
42
|
+
rl.setCredential(mauticCredential);
|
|
46
43
|
rl.setConnectionSchema({
|
|
47
44
|
url: {
|
|
48
45
|
type: "string",
|
|
@@ -63,19 +60,6 @@ export default function mautic(rl) {
|
|
|
63
60
|
env: "MAUTIC_PASSWORD",
|
|
64
61
|
},
|
|
65
62
|
});
|
|
66
|
-
const conn = (ctx) => ({
|
|
67
|
-
baseUrl: ctx.connection.config.url.replace(/\/$/, ""),
|
|
68
|
-
username: ctx.connection.config.username,
|
|
69
|
-
password: ctx.connection.config.password,
|
|
70
|
-
});
|
|
71
|
-
const req = (ctx, method, endpoint, body, qs) => {
|
|
72
|
-
const c = conn(ctx);
|
|
73
|
-
return apiRequest(c.baseUrl, c.username, c.password, method, endpoint, body, qs);
|
|
74
|
-
};
|
|
75
|
-
const pagAll = (ctx, prop, endpoint, qs) => {
|
|
76
|
-
const c = conn(ctx);
|
|
77
|
-
return paginateAll(c.baseUrl, c.username, c.password, prop, endpoint, qs);
|
|
78
|
-
};
|
|
79
63
|
// ── Company ─────────────────────────────────────────
|
|
80
64
|
rl.registerAction("company.create", {
|
|
81
65
|
access: "write",
|
|
@@ -93,7 +77,7 @@ export default function mautic(rl) {
|
|
|
93
77
|
const body = { companyname };
|
|
94
78
|
if (additionalFields)
|
|
95
79
|
Object.assign(body, additionalFields);
|
|
96
|
-
const data = (await req(ctx, "POST", "
|
|
80
|
+
const data = (await req(ctx, "POST", "companies/new", body));
|
|
97
81
|
return data.company;
|
|
98
82
|
},
|
|
99
83
|
});
|
|
@@ -110,7 +94,7 @@ export default function mautic(rl) {
|
|
|
110
94
|
},
|
|
111
95
|
async execute(input, ctx) {
|
|
112
96
|
const { companyId, updateFields } = input;
|
|
113
|
-
const data = (await req(ctx, "PATCH",
|
|
97
|
+
const data = (await req(ctx, "PATCH", `companies/${pathSegment(companyId)}/edit`, updateFields));
|
|
114
98
|
return data.company;
|
|
115
99
|
},
|
|
116
100
|
});
|
|
@@ -119,7 +103,7 @@ export default function mautic(rl) {
|
|
|
119
103
|
description: "Get a company by ID",
|
|
120
104
|
inputSchema: { companyId: { type: "string", required: true } },
|
|
121
105
|
async execute(input, ctx) {
|
|
122
|
-
const data = (await req(ctx, "GET",
|
|
106
|
+
const data = (await req(ctx, "GET", `companies/${pathSegment(input.companyId)}`));
|
|
123
107
|
return data.company;
|
|
124
108
|
},
|
|
125
109
|
});
|
|
@@ -148,10 +132,10 @@ export default function mautic(rl) {
|
|
|
148
132
|
if (p.limit) {
|
|
149
133
|
qs.limit = p.limit;
|
|
150
134
|
qs.start = 0;
|
|
151
|
-
const data = (await req(ctx, "GET", "
|
|
135
|
+
const data = (await req(ctx, "GET", "companies", undefined, qs));
|
|
152
136
|
return Object.values((data.companies ?? {}));
|
|
153
137
|
}
|
|
154
|
-
return pagAll(ctx, "companies", "
|
|
138
|
+
return pagAll(ctx, "companies", "companies", qs);
|
|
155
139
|
},
|
|
156
140
|
});
|
|
157
141
|
rl.registerAction("company.delete", {
|
|
@@ -159,7 +143,7 @@ export default function mautic(rl) {
|
|
|
159
143
|
description: "Delete a company",
|
|
160
144
|
inputSchema: { companyId: { type: "string", required: true } },
|
|
161
145
|
async execute(input, ctx) {
|
|
162
|
-
const data = (await req(ctx, "DELETE",
|
|
146
|
+
const data = (await req(ctx, "DELETE", `companies/${pathSegment(input.companyId)}/delete`));
|
|
163
147
|
return data.company;
|
|
164
148
|
},
|
|
165
149
|
});
|
|
@@ -200,7 +184,7 @@ export default function mautic(rl) {
|
|
|
200
184
|
}
|
|
201
185
|
if (additionalFields)
|
|
202
186
|
Object.assign(body, additionalFields);
|
|
203
|
-
const data = (await req(ctx, "POST", "
|
|
187
|
+
const data = (await req(ctx, "POST", "contacts/new", body));
|
|
204
188
|
return data.contact;
|
|
205
189
|
},
|
|
206
190
|
});
|
|
@@ -217,7 +201,7 @@ export default function mautic(rl) {
|
|
|
217
201
|
},
|
|
218
202
|
async execute(input, ctx) {
|
|
219
203
|
const { contactId, updateFields } = input;
|
|
220
|
-
const data = (await req(ctx, "PATCH",
|
|
204
|
+
const data = (await req(ctx, "PATCH", `contacts/${pathSegment(contactId)}/edit`, updateFields));
|
|
221
205
|
return data.contact;
|
|
222
206
|
},
|
|
223
207
|
});
|
|
@@ -226,7 +210,7 @@ export default function mautic(rl) {
|
|
|
226
210
|
description: "Get a contact by ID",
|
|
227
211
|
inputSchema: { contactId: { type: "string", required: true } },
|
|
228
212
|
async execute(input, ctx) {
|
|
229
|
-
const data = (await req(ctx, "GET",
|
|
213
|
+
const data = (await req(ctx, "GET", `contacts/${pathSegment(input.contactId)}`));
|
|
230
214
|
return data.contact;
|
|
231
215
|
},
|
|
232
216
|
});
|
|
@@ -259,10 +243,10 @@ export default function mautic(rl) {
|
|
|
259
243
|
if (p.limit) {
|
|
260
244
|
qs.limit = p.limit;
|
|
261
245
|
qs.start = 0;
|
|
262
|
-
const data = (await req(ctx, "GET", "
|
|
246
|
+
const data = (await req(ctx, "GET", "contacts", undefined, qs));
|
|
263
247
|
return Object.values((data.contacts ?? {}));
|
|
264
248
|
}
|
|
265
|
-
return pagAll(ctx, "contacts", "
|
|
249
|
+
return pagAll(ctx, "contacts", "contacts", qs);
|
|
266
250
|
},
|
|
267
251
|
});
|
|
268
252
|
rl.registerAction("contact.delete", {
|
|
@@ -270,7 +254,7 @@ export default function mautic(rl) {
|
|
|
270
254
|
description: "Delete a contact",
|
|
271
255
|
inputSchema: { contactId: { type: "string", required: true } },
|
|
272
256
|
async execute(input, ctx) {
|
|
273
|
-
const data = (await req(ctx, "DELETE",
|
|
257
|
+
const data = (await req(ctx, "DELETE", `contacts/${pathSegment(input.contactId)}/delete`));
|
|
274
258
|
return data.contact;
|
|
275
259
|
},
|
|
276
260
|
});
|
|
@@ -287,7 +271,7 @@ export default function mautic(rl) {
|
|
|
287
271
|
},
|
|
288
272
|
async execute(input, ctx) {
|
|
289
273
|
const { contactId, emailId } = input;
|
|
290
|
-
return req(ctx, "POST",
|
|
274
|
+
return req(ctx, "POST", `emails/${pathSegment(emailId)}/contact/${pathSegment(contactId)}/send`);
|
|
291
275
|
},
|
|
292
276
|
});
|
|
293
277
|
rl.registerAction("contact.editDoNotContact", {
|
|
@@ -319,7 +303,7 @@ export default function mautic(rl) {
|
|
|
319
303
|
body.reason = reason;
|
|
320
304
|
if (comments)
|
|
321
305
|
body.comments = comments;
|
|
322
|
-
const data = (await req(ctx, "POST",
|
|
306
|
+
const data = (await req(ctx, "POST", `contacts/${pathSegment(contactId)}/dnc/${pathSegment(channel)}/${pathSegment(action)}`, body));
|
|
323
307
|
return data.contact;
|
|
324
308
|
},
|
|
325
309
|
});
|
|
@@ -338,7 +322,7 @@ export default function mautic(rl) {
|
|
|
338
322
|
async execute(input, ctx) {
|
|
339
323
|
const { contactId, action, points } = input;
|
|
340
324
|
const path = action === "add" ? "plus" : "minus";
|
|
341
|
-
return req(ctx, "POST",
|
|
325
|
+
return req(ctx, "POST", `contacts/${pathSegment(contactId)}/points/${pathSegment(path)}/${pathSegment(points)}`);
|
|
342
326
|
},
|
|
343
327
|
});
|
|
344
328
|
// ── Contact Segment ─────────────────────────────────
|
|
@@ -351,7 +335,7 @@ export default function mautic(rl) {
|
|
|
351
335
|
},
|
|
352
336
|
async execute(input, ctx) {
|
|
353
337
|
const { segmentId, contactId } = input;
|
|
354
|
-
return req(ctx, "POST",
|
|
338
|
+
return req(ctx, "POST", `segments/${pathSegment(segmentId)}/contact/${pathSegment(contactId)}/add`);
|
|
355
339
|
},
|
|
356
340
|
});
|
|
357
341
|
rl.registerAction("contactSegment.remove", {
|
|
@@ -363,7 +347,7 @@ export default function mautic(rl) {
|
|
|
363
347
|
},
|
|
364
348
|
async execute(input, ctx) {
|
|
365
349
|
const { segmentId, contactId } = input;
|
|
366
|
-
return req(ctx, "POST",
|
|
350
|
+
return req(ctx, "POST", `segments/${pathSegment(segmentId)}/contact/${pathSegment(contactId)}/remove`);
|
|
367
351
|
},
|
|
368
352
|
});
|
|
369
353
|
// ── Campaign Contact ────────────────────────────────
|
|
@@ -376,7 +360,7 @@ export default function mautic(rl) {
|
|
|
376
360
|
},
|
|
377
361
|
async execute(input, ctx) {
|
|
378
362
|
const { campaignId, contactId } = input;
|
|
379
|
-
return req(ctx, "POST",
|
|
363
|
+
return req(ctx, "POST", `campaigns/${pathSegment(campaignId)}/contact/${pathSegment(contactId)}/add`);
|
|
380
364
|
},
|
|
381
365
|
});
|
|
382
366
|
rl.registerAction("campaignContact.remove", {
|
|
@@ -388,7 +372,7 @@ export default function mautic(rl) {
|
|
|
388
372
|
},
|
|
389
373
|
async execute(input, ctx) {
|
|
390
374
|
const { campaignId, contactId } = input;
|
|
391
|
-
return req(ctx, "POST",
|
|
375
|
+
return req(ctx, "POST", `campaigns/${pathSegment(campaignId)}/contact/${pathSegment(contactId)}/remove`);
|
|
392
376
|
},
|
|
393
377
|
});
|
|
394
378
|
// ── Company Contact ─────────────────────────────────
|
|
@@ -401,7 +385,7 @@ export default function mautic(rl) {
|
|
|
401
385
|
},
|
|
402
386
|
async execute(input, ctx) {
|
|
403
387
|
const { companyId, contactId } = input;
|
|
404
|
-
return req(ctx, "POST",
|
|
388
|
+
return req(ctx, "POST", `companies/${pathSegment(companyId)}/contact/${pathSegment(contactId)}/add`);
|
|
405
389
|
},
|
|
406
390
|
});
|
|
407
391
|
rl.registerAction("companyContact.remove", {
|
|
@@ -413,7 +397,7 @@ export default function mautic(rl) {
|
|
|
413
397
|
},
|
|
414
398
|
async execute(input, ctx) {
|
|
415
399
|
const { companyId, contactId } = input;
|
|
416
|
-
return req(ctx, "POST",
|
|
400
|
+
return req(ctx, "POST", `companies/${pathSegment(companyId)}/contact/${pathSegment(contactId)}/remove`);
|
|
417
401
|
},
|
|
418
402
|
});
|
|
419
403
|
// ── Segment Email ───────────────────────────────────
|
|
@@ -428,7 +412,7 @@ export default function mautic(rl) {
|
|
|
428
412
|
},
|
|
429
413
|
},
|
|
430
414
|
async execute(input, ctx) {
|
|
431
|
-
return req(ctx, "POST",
|
|
415
|
+
return req(ctx, "POST", `emails/${pathSegment(input.emailId)}/send`);
|
|
432
416
|
},
|
|
433
417
|
});
|
|
434
418
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/** An integration token, sent as a bearer to Medium's one API origin. */
|
|
3
|
+
export const mediumCredential = staticCredential({
|
|
4
|
+
id: "medium",
|
|
5
|
+
auth: { kind: "bearer" },
|
|
6
|
+
local: { secret: "accessToken" },
|
|
7
|
+
targets: {
|
|
8
|
+
api: {
|
|
9
|
+
baseUrl: "https://api.medium.com/v1/",
|
|
10
|
+
methods: ["GET", "POST"],
|
|
11
|
+
allowedHeaders: ["Accept-Charset"],
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
probe: {
|
|
15
|
+
target: "api",
|
|
16
|
+
path: "me",
|
|
17
|
+
method: "GET",
|
|
18
|
+
acceptedStatuses: [200],
|
|
19
|
+
},
|
|
20
|
+
});
|