Zapier integration (#491)
* create zapier app * install sanctum * move OAuthProviderController * make `api-external` middleware * add zapier endpoints * add tests * token management * zapier event handler * add policy * use `slug` instead of `id` * wip * check policies * change api prefix to `external` * ui tweaks * validate token abilities * open zapier URL * zapier ui tweaks * update zap * Fix linting * Added sample endpoints + minor UI changes * Run PHP code linter --------- Co-authored-by: Julien Nahum <julien@nahum.net>
This commit is contained in:
@@ -49,7 +49,7 @@
|
||||
v-for="(sectionItem, sectionItemKey) in section"
|
||||
:key="sectionItemKey"
|
||||
:integration="sectionItem"
|
||||
@select="openIntegrationModal"
|
||||
@select="openIntegration"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -107,11 +107,22 @@ onMounted(() => {
|
||||
oAuthProvidersStore.fetchOAuthProviders(props.form.workspace_id)
|
||||
})
|
||||
|
||||
const openIntegrationModal = (itemKey) => {
|
||||
if (!itemKey || !integrations.value.has(itemKey))
|
||||
const openIntegration = (itemKey) => {
|
||||
if (!itemKey || !integrations.value.has(itemKey)) {
|
||||
return alert.error("Integration not found")
|
||||
if (integrations.value.get(itemKey).coming_soon)
|
||||
}
|
||||
|
||||
const integration = integrations.value.get(itemKey)
|
||||
|
||||
if (integration.coming_soon) {
|
||||
return alert.warning("This integration is not available yet")
|
||||
}
|
||||
|
||||
if(integration.is_external && integration.url) {
|
||||
window.open(integration.url, '_blank')
|
||||
return
|
||||
}
|
||||
|
||||
selectedIntegrationKey.value = itemKey
|
||||
selectedIntegration.value = integrations.value.get(
|
||||
selectedIntegrationKey.value,
|
||||
|
||||
Reference in New Issue
Block a user